कोड की सबसे कम मात्रा का उपयोग करके मैट्रिक्स डिजिटल वर्षा करें [बंद]


21

नियम:

  • आपके द्वारा चुनी गई कोई भी भाषा (मानक पुस्तकालय)।
  • टर्मिनल या विंडोज कमांड प्रोसेसर या आपके पसंद के किसी अन्य तरीके से प्रदर्शित आउटपुट ।
    (चौड़ाई बफर = 80)
  • ASCII वर्ण पर्याप्त हैं। (यूनिकोड जोड़ सकते हैं)
  • स्टार्ट-अप में पूरी स्क्रीन को नहीं भरना चाहिए (बारिश, डुह की तरह दिखना चाहिए!)।
  • रंगों को बोनस अंक (+5) मिलता है।
  • प्रभाव : यादृच्छिक वर्ण, अलग-अलग आकार, समय-समय पर पुन: उत्पन्न होते हैं।

अंक: (अपडेट)

  • +32 अंक के साथ शुरू करने के लिए।
  • ** १.२०१ *** वें * बाइट के बाद कोड में प्रत्येक बाइट के लिए अंक (चार्ट नहीं)
  • अंक शून्य और नकारात्मक तक पहुंच सकते हैं।
  • नोट: मल्टीबाइट वर्णों का उपयोग करने वाली भाषाओं को बाइट्स वर्णों की गणना करनी चाहिए।
  • हर नए प्रभाव के लिए +5 । (दूसरों द्वारा पोस्ट नहीं किया गया)
  • इनमें से किसी भी प्रभाव के लिए +15 :
    1. पवन (किरदार की तरफ झांका)
    2. संख्या मिलान (उपयोगकर्ता इनपुट, उदाहरण: 90210):
      संख्या अनियमित रूप से मैट्रिक्स के भीतर स्थित है
      यहाँ छवि विवरण दर्ज करें
    3. ध्वनि
    4. एन्क्रिप्टेड संदेश (उपयोगकर्ता इनपुट):
      वर्ण एक गुप्त एन्क्रिप्टेड संदेश का प्रतिनिधित्व करते हैं
    5. गालागा मोड:
      पात्रों को नष्ट करने के लिए आग ^
      यहाँ छवि विवरण दर्ज करें

स्कोरबोर्ड:

┌-----┬------------┬------------┬-------------┬---------------┬--------------┐
| pos |    name    |    type    |    bytes    |    effects    |    points  ^ |
|-----|------------|------------|-------------|---------------|--------------|
|1    |nitro2k01   |QBasic      |913          |Colours        |+57           |
|     |            |            |             |Colour Fade    |              |
|     |            |            |             |Sound (+15)    |              |
|-----|------------|------------|-------------|---------------|--------------|
|2    |squeamish   |HTML, Java- |1024         |Colours        |+47           |
|     |ossifrage   |Script, CSS |             |Transition     |              |
|     |            |            |             |Size Variation |              |
|-----|------------|------------|-------------|---------------|--------------|
|3    |manatwork   |Ruby        |374          |Colours        |+47           |
|     |            |            |             |Actual Words   |              |
|     |            |            |             |Character -    |              |
|     |            |            |             |      Disperse |              |
|-----|------------|------------|-------------|---------------|--------------|
|4    |plg         |Bash        |1024         |Colours        |+42           |
|     |            |            |             |Random Pause   |              |
|-----|------------|------------|-------------|---------------|--------------|
|5    |Timtech     |TI-84 calc  |120          |Umbrella       |+42           |
|     |            |            |             |Run Inside     |              |
|-----|------------|------------|-------------|---------------|--------------|
|6    |Samuel Cook |JavaScript  |830          |Colours        |+42           |
|     |            |            |             |Transition     |              |
└-----┴------------┴------------┴-------------┴---------------┴--------------┘

नोट: वैध उत्तर पोस्ट करने के बाद स्कोरबोर्ड को किसी के द्वारा भी अपडेट किया जा सकता है। शीर्ष दस पदों से अधिक न करें। अपने कोड में अधिक प्रभाव जोड़ें और अपने स्वयं के स्कोर को हराएं!
प्रारंभिक स्क्रीन साफ़ करना, क्लीनअप, बग्स, थर्ड पार्टी लाइब्रेरी इत्यादि बिंदुओं के बारे में नहीं याद रखना होगा। उपयोग किए गए बाइट्स और भाषा या कार्यक्रम का नाम।

Neo: आप मुझे क्या बताने की कोशिश कर रहे हैं? कि मैं गोलियों को चकमा दे सकता हूं?

मॉर्फियस: नहीं, नव। मैं आपको यह बताने की कोशिश कर रहा हूं कि जब आप तैयार हों, तो आपको नहीं करना पड़ेगा।


पुस्तकालयों के बारे में क्या?
वेरोस

शामिल करें या आयात या आवश्यकता के रूप में ज्यादा पुस्तकालयों की आवश्यकता है (मानक पुस्तकालयों)!
Renae Lider

क्या आप अंक जोड़ेंगे यदि कोड 250 वर्णों से कम है? (मैं एक बहुत ही कम समाधान है, लेकिन यह सुविधाओं का एक टन नहीं है)
थिंकचोस

आपको इसकी आवश्यकता नहीं होगी; आपके पास अभी भी +32 अंक होंगे! संभावना है, कई सीमा से अधिक हो जाएगा और स्कोरबोर्ड पर शीर्ष पर उठाने के लिए छोटे कोड बनाने वाले बिंदुओं को छोड़ना शुरू कर देगा। (भी, अधिक नियमों और बिंदुओं को जोड़कर सामान को जटिल करेगा)
Renae Lider

ठीक है, मैं सिर्फ मनोरंजन के लिए एक गोल्फ संस्करण शामिल करूंगा!
थिंकटैचोस

जवाबों:


18

HTML, जावास्क्रिप्ट और CSS: 1024 बाइट, 47 अंक

मैट्रिक्स बारिश का डेमो

विशेषताएं:

  • यूनिकोड वर्णों का उपयोग करता है (इस अंक को कोई अंक मत समझो)
  • ट्रेल्स उज्ज्वल से गहरे हरे रंग में फीका हो जाते हैं, जबकि उन्हें खींचा जा रहा है (*)
  • आरेखण समाप्त होने के बाद ट्रेल्स गहरे हरे से काले रंग में भी फीका हो जाता है (*)
  • प्रत्येक निशान में यादृच्छिक पाठ का आकार (*)
  • हर बार ड्रॉ होने पर ट्रेल्स को बेतरतीब ढंग से रिपोज्ड और रिसाइज़ किया जाता है

(*) मैं इनमें से प्रत्येक के लिए +5 अंक का दावा करूंगा, लेकिन अगर आप असहमत हैं तो मुझे बताएं

डेमो:

http://ruletheweb.co.uk/matrix.html

सोर्स कोड:

बिल्कुल 1024 बाइट्स। यह थोड़ा बदसूरत है, मुझे डर है।

<head><style>*{margin:0;padding:0;line-height:1;overflow:hidden;}div{width:1em;position:absolute;}</style><script>
w=window;n=w.innerWidth;m=w.innerHeight;d=document;q="px";function z(a,b){return Math.floor(Math.random()*(b-a)+a)}f=" 0123456789";for(i=0;i<45;i++)f+=String.fromCharCode(i+65393);function g(){for(i=0;i<90;i++){r=d.createElement("div");for(j=z(20,50);j;j--){x=d.createElement("pre");y=d.createTextNode(f[z(0,56)]);x.appendChild(y);x.style.opacity=0;r.appendChild(x)}r.id="r"+i;r.t=z(-99,0);with(r.style){left=z(0,n)+q;top=z(-m,0)+q;fontSize=z(10,25)+q}d.body.appendChild(r);setInterval("u("+i+")",z(60,120))}}function u(j){e=d.getElementById("r"+j);c=e.childNodes;t=e.t+1;if((v=t-c.length-50)>0){if((e.style.opacity=1-v/32)==0){for(f in c)if(c[f].style)c[f].style.opacity=0;with(e.style){left=z(0,n)+q;top=z(-m/2,m/2)+q;opacity=1}t=-50}}e.t=t;if(t<0||t>c.length+12)return;for(f=t;f&&f>t-12;f--){s=1-(t-f)/16;if(f<c.length&&c[f].style){c[f].style.opacity=s;}}}
</script><body text=#0f0 bgcolor=#000 onload=g()>

2
यह एक स्क्रीन शॉट के रूप में अच्छा लगता है, लेकिन यह मेरे संसाधनों से बकवास खाती है। मेरे से +1
सैमुअल कुक

बहुत कूल! मैं आपके यूनिकोड के पात्रों को चुरा सकता हूं :) +1
थिंकचोस

1
UglifyJS जावास्क्रिप्ट स्रोत कोड से 17 वर्णों को हटा सकता है। ऐसा नहीं है कि यह वास्तव में मायने रखता है, क्योंकि यह कोड गोल्फ नहीं है (बल्कि, अधिकतम 1024 वर्ण चुनौती)।
कोनराड बोरोस्की

यह अब तक का सबसे अच्छा संस्करण है जिसे मैंने Google परिणामों के पहले दो पृष्ठों पर पाया है। मैं वास्तव में चाहता हूं कि आपके पास कुछ कमरे थे जो वास्तव में आपके द्वारा जोड़े जा रहे कुछ नोड्स को हटाने के लिए थे :) वास्तव में मेरे कंप्यूटर को उस खुले छोड़ने के लिए मारता है
RustyToms

10

दे घुमा के

1024 बाइट्स (टिप्पणी सहित)

COL=80
ROW=$(tput lines)

cleanup() {
  wait # wait for background jobs (the drops)
  # clear; move cursor to (1,1); show cursor
  # reset color
  printf '\033[2J\033[1;1H\033[?25h\033[0;0m'
}

drop() { # $1=column ; $2=row to end on ; $3 = drop size (ranges from 5 to 15)
  for ((r=1; r<$2+$3+1; r++)); do
    # if before drop's end point : print lowest char in white
    [ $r -lt $2 ] && printf "\033[$r;$1H\033[0;0m\u$[RANDOM % 59 + 21]"

    # if before or on drop's end point : replace older white char with a green one
    [ $r -le $2 ] && printf "\033[$[r-1];$1H\033[0;32m\u$[RANDOM % 59 + 21]"

    # if drop's longer than it's size : erase last char
    [ $r -gt $3 ] && printf "\033[$[r-$3];$1H "

    # wait before moving drop down
    sleep .1
  done
}

# cleanup on exit
trap cleanup EXIT
# clear screen; hide cursor
printf '\033[2J\033[?25l'

# loop with delay
while sleep .1; do
  # start a drop in background : column; ending row; size
  drop $[RANDOM % COL] $[RANDOM % ROW + ROW/3] $[RANDOM % 10 + 5] &
done

नए प्रभाव:

  • सब कुछ (पहली प्रविष्टि))
  • ड्रॉप स्क्रीन पर बेतरतीब ढंग से बंद हो जाएगा
  • शांत रंग प्रभाव: अंतिम चार सफेद जबकि अन्य हरे होते हैं
  • रैंडम चार्ट और एस्केप सीक्वेंस कंसोल पर रहते हैं ... ठीक है, यह एक बग है, लेकिन यह इसलिए है क्योंकि यह शब्द कर्सर आंदोलन के साथ नहीं रख सकता है

गोल्फ @ 188 186 176 :

d(){ for((r=1;r<$2+41;r++));do $4"$3$r;$1H\u$[RANDOM%59+21]";(($r>$2))&&$4"$3$[r-$2];$1H ";$s;done;}
s=sleep\ .1;while $s;do d $[RANDOM%80] $[RANDOM%10+5] '\033[' printf\ &done

यह एक 80x40 ग्रिड में काम करता है। आप इसे RANDOM%80अंतिम पंक्ति में, और r<$2+41दूसरे पर बदल सकते हैं । मैं ग्रिड से बाहर निकलने के बाद ड्रॉप्स को साफ नहीं करता, इसलिए या तो अपना पद 80x40 का आकार बदलें या 41 से बदल दें $LINES+1। पूर्ण संस्करण की तुलना में कुछ चीज़ें ऐसी नहीं हैं:

  • पद की तैयारी या सफाई
  • फैंसी रंग (52 बाइट्स लेता है, इसलिए इसके लायक नहीं)
  • बेतरतीब ढंग से रोकना (यहाँ बूँदें हमेशा नीचे तक जाती हैं)
  • मैं इसे "ड्रॉप्स" के लिए न्यूनतम लंबाई निर्दिष्ट न करके 174 तक ला सकता था: $[RANDOM%10+5]बन जाएगा$[RANDOM%15]

उन सीमाओं के साथ भी मुझे लगता है कि यह बहुत अच्छा है!

संपादित करें: मैंने यूनिकोड वर्णों का उपयोग करने की कोशिश की, जैसे कि स्क्विश ओस्सिफ्रेज, लेकिन क्योंकि वे डबल चौड़ाई वाले चार्ट हैं वे ग्रिड को बहुत तेजी से भरते हैं और यह अजीब लग रहा है।

मैंने ASCII के बजाय यूनिकोड कोड बिंदुओं का उपयोग करके गोल्फ संस्करण को कम कर दिया है, इसलिए मुझे एक कदम बचाने से पहले एक चरित्र प्राप्त करने से पहले ओक्टेल नहीं जाना पड़ता है। मैंने मुख्य संस्करण में यही काम किया, लेकिन इसे 1024 बाइट्स पर रखने के लिए टिप्पणियां जोड़ दीं।

और फिर से पूर्णांक तुलना बदल [ $r -gt $2 ]करने के लिए (($r>$2)), कि सफेद स्थान मुझे मार रहा था, लेकिन मैं एक और तरीका है कि तुलना में ints और न तार नहीं पा सके। यह 176 btyes के लिए नीचे गोल्फ संस्करण मिला!


गोल्फ एक कांटा बम का एक सा है, भी;)
रोब Starling

1
@ रॉब्स्ट्रलिंग वे दोनों वास्तव में हैं!
थिंकचैटोस

1
वास्तव में यह प्यार! मैं इसके साथ एक छोटे से tinkered है और यह आप इसे बदलकर हरा कर सकता है लगता है \033[के लिए \033[0;32m\033[(मेरे टर्मिनल में कम से कम)। टर्मिनल स्क्रीनसेवर के रूप में इसे स्थापित करने की कोशिश करना कितना बुरा है? : पी
डोम हेस्टिंग्स 20

हम्म। मुझे पहले एक के लिए 1059 बाइट्स और दूसरे के लिए 190 बाइट्स मिल रहे हैं।
रेन लीडर

1
आप लोग मूल रूप से जादूगर हैं! साझा करने के लिए धन्यवाद!
डोम हेस्टिंग्स

8

जावास्क्रिप्ट, 830 बाइट्स

इसमें सभी क्लासिक विशेषताएं हैं जैसे:

  1. काले रंग की पृष्ठभूमि
  2. हरा पाठ
  3. गिरने पर सफेद पाठ
  4. यादृच्छिक वर्ण
  5. खाली छेद
  6. अनंत लूपिंग

window.onload=function(){
    var tbl=document.createElement('table'),
	body=document.body;
	body.style.backgroundColor='#000';
	body.style.color='#060';
	body.style.fontFamily='Lucida Console';

    for(var i = 0; i <= 30; i++){
        var tr = tbl.insertRow();
        for(var j = 0; j <= 50; j++){
            var td = tr.insertCell();
			td.style.width="2%";
        }
    }
    body.appendChild(tbl);
	setInterval(function(){
		rain(Math.floor((Math.random()*50)),0)
	},20);
}
function rain(n,i) {          
   setTimeout(function (){
	  var e=document.getElementsByTagName('tr')[i].childNodes[n];
	  e.style.color='#fff';
      e.innerHTML = '&#'+Math.floor((Math.random()*127)+1)+';';
	  setTimeout(function(){e.style.color=''},200)
	  
      if (i++ < 30) rain(n,i);
   },20);
};

मुझे यह पसंद है क्योंकि यह अविश्वसनीय रूप से हल्के वजन, गति में द्रव, और सरल है। का आनंद लें!


6

QBasic 1, 587 बाइट, 32 + 5 = 37 अंक

DECLARE SUB d (p!, s!, x!, y!)
DIM t(80)
FOR i = 1 TO 80
    t(i) = INT(-50 * RND)
NEXT
s = TIMER

CLS
WHILE 1
    FOR i = 1 TO 80
        IF t(i) > 28 THEN t(i) = 0
        t(i) = t(i) + 1
        y = t(i)
        d 0, 0, i, y - 6
        d 2, 0, i, y - 5
        d 2, 0, i, y - 4
        d 10, 0, i, y - 3
        d 10, 0, i, y - 2
        d 11, 0, i, y - 1
        d 0, 2, i, y
    NEXT

    l = TIMER
    WHILE l = TIMER
    WEND
WEND

SUB d (p, s, x, y)
COLOR p, s
IF y > 0 AND y < 24 THEN LOCATE y, x: PRINT CHR$(33 + (x * y) MOD 200);
END SUB

नमूना स्क्रीनशॉट:

QBasic मैट्रिक्स 1

रंग के लिए 32 आधार अंक + 5 अंक। लेकिन जब से मैं व्हॉट्सएप ट्रिमिंग या ऑप्टिमाइज़ेशन के बिना भी 1024 बाइट के नीचे खुशी से तैर रहा हूं, तो आइए कुछ और चीजें जोड़ते हैं:

QBasic 2, 913 बाइट्स, 32 + 5 + 15 + 5 = 57 अंक

DECLARE SUB d (p!, s!, x!, y!)
DIM t(80)
FOR i = 1 TO 80
    t(i) = INT(-50 * RND)
NEXT
s = TIMER
f = 0
w$ = "bullet"
o = 1
CLS
WHILE 1
    FOR i = 1 TO 80
        IF t(i) > 28 THEN t(i) = 0: IF f THEN SOUND 100 * i, 1
        t(i) = t(i) + 1
        y = t(i)
        d 0, 0, i, y - 6
        d 2 + x, 0, i, y - 5
        d 2 + x, 0, i, y - 4
        d 10 + x, 0, i, y - 3
        d 10 + x, 0, i, y - 2
        d 11 + x, 0, i, y - 1
        d 0, 2 + x, i, y
    NEXT
    k$ = INKEY$
    IF k$ <> "" THEN
        IF MID$(w$, o, 1) = k$ THEN
            o = o + 1
            IF o = LEN(w$) + 1 THEN z = 1: f = 100
        ELSE
            o = 1
        END IF

    END IF
    x = x + z
    l = TIMER
    WHILE l = TIMER
    WEND

WEND

SUB d (p, s, x, y)
COLOR p MOD 16, s MOD 16
IF y > 0 AND y < 24 THEN LOCATE y, x: PRINT CHR$(33 + (x * y) MOD 200);
END SUB

नमूना स्क्रीनशॉट (रंग प्रभाव सक्रिय):

Qbasic मैट्रिक्स 2

पहले वाले के रूप में एक ही सुविधाएँ। इसके अतिरिक्त इसमें है:

  • रंग (+5)
  • अतिरिक्त सुविधाओं को सक्रिय करने के लिए एक पासवर्ड। (मैं एक नई सुविधा के रूप में इसके लिए +5 का दावा कर रहा हूं।)
  • पासवर्ड पैलेट फीका और ध्वनि प्रभाव को सक्रिय करता है। (ध्वनि के लिए +15)

पासवर्ड द्वारा सक्रिय किए गए रंग प्रभाव और ध्वनि प्रभाव सहित वीडियो में यह दिखा रहा है:

http://www.youtube.com/watch?v=MQc-FDl_AZ8


5

जीटीबी , 42 अंक

TI-84 कैलकुलेटर से निष्पादित, लगभग 100 बाइट्स:

"  O O    O O   O"→Str1:"O  O   O O  O O "→Str2:0→X[@getkey=25$~""~""~""~""~""~""~""p;&@round(r;$~""#@round(r;$~Str1#~Str2&:&]

प्रभाव

के बाद से कैलकुलेटर काला + सफेद के साथ शुरू करने के लिए है, वहाँ बहुत कुछ नहीं कर सकता ...

  • छत्र - ऊपर की कुंजी दबाने से बारिश बंद हो जाती है और जब तक आप दबाते हैं तब तक आप सूख जाते हैंEnter
  • इनसाइड रन - प्रेसिंग ONप्रोग्राम को तोड़ता है और आपको सूखा रखने के लिए एक अच्छी छत देता है (आप Enterदो बार दबाकर बारिश में वापस जा सकते हैं

पूरी तरह से मेरे TI-92 पर काम करता है! बहुत बढ़िया।
Renae Lider

@ user3058846 मुझे खुशी है कि आप इसे पसंद कर रहे हैं :) मुझे पता नहीं था कि GTB TI-92 पर अमल कर सकता है।
टिमटेक

TI-92 प्लस वास्तव में।
Renae Lider

@ user3058846 तो आपने कंपाइलर एह डाउनलोड किया? अच्छा काम :)
टिमटेक

4

रूबी: 374 वर्ण

$><<"^[[2J"
w=->c,d,m{$><<"^[[0;3%d;%dm^[[%d;%dH%s"%[c,d[4],d[3]+d[1]-m,d[2],d[0][d[1]-m]]}
t=%w{Stack Exchange Programming Puzzle Code Golf}
r=[]
loop{r.map{|o|w[2,o,1]if o[1]>0
w[7,o,0]
o[1]+=1
o[0][0]==" "?r.delete(o):(o[0]=" "*o[1])*o[1]=0if o[1]>o[0].size}
sleep 0.1
r<<[(k=rand(10)%2)==0 ?t.sample: [*?a..?z].sample(rand(10)+5)*"",0,rand(80),rand(20),k+1]while r.size<25}

(नोट: ^[एकल वर्ण हैं।)

विवरण:

  • 25 एक साथ चलने (पूर्वनिर्धारित ग्रंथों को पढ़ने योग्य बनाए रखने के लिए कम रखा गया)
  • प्रत्येक रन में 50% / 50% होने की संभावना है
    • एक पूर्वनिर्धारित शब्द - चमकीले रंगों में प्रदर्शित
    • 5..15 लोअरकेस अक्षरों की एक यादृच्छिक स्ट्रिंग - गहरे रंगों में प्रदर्शित
  • प्रदर्शन के दौरान नीचे का रंग सफेद है, बाकी हरा
  • रन पूरी तरह से प्रदर्शित होने के बाद, इसे चरित्र द्वारा हटा दिया जाता है

नमूना रन:

मैट्रिक्स बारिश


कितने बाइट्स (वर्ण नहीं)?
रेने लिडर

1
केवल एकल बाइट वर्णों का उपयोग किया जाता है, इसलिए 374 बाइट्स।
मैनटवर्क

वास्तव में आपका संस्करण पसंद आया! अच्छा काम करते रहें।
रेन लीडर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.