संगीत धड़कन का चित्रण करें


24

आप जानते हैं - वे इस तरह दिखते हैं:

स्रोत

लक्ष्य निम्न की तरह एक संगीत बीट चित्रण आकर्षित करना है:

=     =      =
=  =  =      =          =
== = ==   =  ==     = ====
== ====  == ===   = = =======
======== == ====  = ========= =
=================================

नियम हैं:

  • चित्रण की चौड़ाई 33 प्रतीकों की है, लेकिन अगर आपको ज़रूरत है - इस चौड़ाई से अधिक किसी भी अनुगामी रिक्त स्थान की अनुमति है।
  • प्रत्येक स्तंभ समान चिन्हों ( =) से बना है।
  • प्रत्येक कॉलम की एक यादृच्छिक ऊंचाई होती है (अगले कॉलम की ऊंचाई किसी भी तरह से पिछले कॉलम की ऊंचाई पर निर्भर नहीं होनी चाहिए), 1 से 6 तक भिन्न होती है। यह ठीक भी है यदि किसी इनपुट को बिना किसी सख्त के प्राप्त करना कम से कम संभव है गणित की संभावना (यानी कुछ इनपुट दूसरों की तुलना में अधिक शायद ही कभी दिखाई दे सकते हैं)।
  • एक स्तंभ नीचे से ऊपर तैर नहीं सकता है और उसमें अंतराल है।
  • चूंकि हर कॉलम में 1 की न्यूनतम ऊंचाई होती है, अंतिम पंक्ति में कोई अंतराल नहीं हो सकता है - इसमें हमेशा 33 बराबर चिह्न होते हैं।
  • चूंकि 6 की ऊंचाई के साथ कोई कॉलम होना संभव नहीं है (यह सभी के बाद यादृच्छिक है): इस मामले में आपको रिक्त स्थान से बने शीर्ष पंक्ति की आवश्यकता नहीं है। इस प्रकृति के किसी भी किनारे के मामले पर लागू होता है: यदि अचानक आपके कोड ने 1 से अधिक की ऊंचाई के साथ कोई कॉलम प्रदान नहीं किया है, तो आपको नीचे की रेखा से ऊपर रिक्त स्थान से बने अतिरिक्त लाइनों की आवश्यकता नहीं है।
  • आप किसी भी इनपुट नहीं लेते हैं

@ लियन ओह, मूल रूप से यह निर्दिष्ट किया गया था, लेकिन मैंने गलती से इसे पद से हटा दिया।
nicael

11
(नाइटपिटिंग) जो मुझे किसी भी धड़कन का प्रतिनिधित्व करने के बजाय एक दिए गए तमाशा की तरह दिखता है
लुइस मेंडो

2
क्या कॉलम को रिक्त स्थान से अलग करने की अनुमति है? (यानी, नीचे की पंक्ति होगी = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =)
लीजनमैमल 978

2
क्या आउटपुट के ऊपर अतिरिक्त लाइनें होना ठीक है?
जॉन ड्वोरक

1
"अगले कॉलम की ऊंचाई पिछले कॉलम की ऊंचाई पर किसी भी तरह से निर्भर नहीं होनी चाहिए" - अधिकांश भाषाओं के अंतर्निहित यादृच्छिक संख्या जनरेटर को वरीयता दी जाती है। इस कारण से एक फ़ंक्शन Math.random()ऐसा होता है जो अपने पिछले कॉल से सीधे गणना योग्य होता है यदि रेखीय अनुरूपता जनरेटर के मापदंडों को जाना जाता है, जिसका अर्थ है कि आपको इस मानदंड को पूरा करने के लिए अधिकांश अंतर्निहित यादृच्छिक कार्यक्षमता को संशोधित करना होगा। मेरा सुझाव है कि यह बेहतर शब्द है।
पैट्रिक रॉबर्ट्स

जवाबों:


12

पायथ , 13 बाइट्स

और मैंने जैली को पछाड़ दिया

j_.tm*hO6\=33

इसे ऑनलाइन आज़माएं!

j_.tm*hO6\=33
    m      33  for 33 times:
       O6          yield a random number in [0,1,2,3,4,5].
      h            add one.
     *   \=        repeat "=" that number of times.
  .t           transpose, filling with whitespace
 _             reverse
j              join by newlines.

यहाँ यह काम क्यों नहीं करता है ?
इंसानी

@Insane Pyth TIO पर काफी पुरानी है।
डेनिस

@Dennis लेकिन मैं प्यार TIO: '(
इन्सेन

13

दिल्लोग एपीएल , 14 बाइट्स

⊖⍉↑'='⍴¨⍨?33⍴6

व्याख्या

33⍴6 6 के 33 दोहराव

?33 6 में से प्रत्येक के लिए सीमा [1, n ] में यादृच्छिक पूर्णांक

'='⍴¨⍨ समानता के प्रतीक ने उन प्रत्येक संख्या को दोहराया

पंक्तियों की तालिका में सूचियों की सूची परिवर्तित करें

पंक्तियों को स्तंभों में, स्तंभों को पंक्तियों में स्थानांतरित करें

उल्टा हो गया

उदाहरण चलता है

इनपुट छः रिक्त स्थान है:

      ⊖⍉↑'='⍴¨⍨?33⍴6
=          ==        =      ==   
= =    =   ==      ====     ==   
= = = ===  ==  === ==== =  ===  =
= = ===== ==== === ==== = ====  =
=== ============== ==== ====== ==
=================================
      ⊖⍉↑'='⍴¨⍨?33⍴6
         =  =  =    =    =       
  =      =  =  ==  == == =  =    
 === == ==  =  === =======  =    
==== == ==  ====== ==========   =
==== ============= ========== = =
=================================
      ⊖⍉↑'='⍴¨⍨?33⍴6
             =    =   =  =       
         =   =    =   = == =     
=      = =   =    ==  = ==== === 
= = =  = =   =    ==  = ==== ====
=====  = == ==  ============ ====
=================================

9

जेली, 14 बाइट्स

6x33X€”=ẋz⁶Ṛj⁷

इसे यहाँ आज़माएँ।


11
उह, यह सही नहीं हो सकता। जेली की परिभाषा एपीएल से कम होनी चाहिए।
एडम जूल 10'16

यह बहुत कुशल नहीं है, लेकिन 6ṗ33Xसाथ ही साथ काम भी करता है।
डेनिस

9

जावास्क्रिप्ट (ईएस 6), 116 बाइट्स

(a=Array(33).fill``.map(_=>[,,,,,,].fill` `.fill('=',Math.random()*6)))[0].map((x,i)=>a.map(x=>x[i]).join``).join`
`

स्निपेट पूर्वावलोकन

नीचे दिए गए एनिमेटेड स्निपेट में इसे देखें:

F = () => (a=Array(33).fill``.map(_=>[,,,,,,].fill` `.fill('=',Math.random()*6)))[0].map((x,i)=>a.map(x=>x[i]).join``).join`
`

var interval;
G = () => output.innerHTML = F().split('\n').map((r, i) => `<span id="row-${6-i}">${r}</span>`).join('\n');
A = () => {
  clearInterval(interval);
  if (auto.checked) {
    speed.disabled = false;
    interval = setInterval(G, speed.value);
  } else {
    speed.disabled = true;
  }
}
S = () => {
  if (stylized.checked) {
    output.classList.add('stylized');
  } else {
    output.classList.remove('stylized');
  }
}

generate.onclick = G;
auto.onchange = speed.onchange = A;
stylized.onchange = S;

G();
A();
S();
#output {
  background: #000;
  color: #9fff8a;
  overflow: hidden;
  padding: 1em;
  line-height: 1;
}

#output.stylized {
  line-height: 0.25;
  font-size: 2em;
  margin: 0.5em 0 0 0;
  padding: 0.5em;
}

.stylized #row-1 { color: #9fff8a; }
.stylized #row-2 { color: #c5ff8a; }
.stylized #row-3 { color: #e0ff8a; }
.stylized #row-4 { color: #ffe88a; }
.stylized #row-5 { color: #ffc28a; }
.stylized #row-6 { color: #ff8a8a; }
<button id="generate">Generate</button>
<label>Auto: <input id="auto" type="checkbox" checked/></label>
<label>Speed: <select id="speed">
  <option value="25">25</option>
  <option value="50">50</option>
  <option value="100" selected>100</option>
  <option value="200">200</option>
  <option value="400">400</option>
  <option value="600">600</option>
  <option value="800">800</option>
  <option value="1000">1000</option>
</select></label>
<label>Stylized: <input id="stylized" type="checkbox" checked/></label>
<pre id="output"></pre>


1
वाह, यह वास्तव में अच्छा है!
निकेल

8

सी, 87 बाइट्स

f(x,y){for(y=6;y--;){srand(time(0));for(x=33;x--;)putchar("= "[rand()%6<y]);puts("");}}

के रूप में बुलाओ f();। यह उत्तर इस तथ्य पर निर्भर करता है कि time(0)एक ही परिणाम (सेकंड में) वापस करने के लिए लगातार छह कॉल । यह लगभग हमेशा सच है, लेकिन शायद ध्यान देने योग्य है।


आप डालते हैं xऔर yउन्हें घोषित करने से बचते हैं int। चूंकि कोई इनपुट नहीं है, क्या इसकी अनुमति है? यदि हाँ, यह एक अच्छा विचार है!
aloisdg का कहना है कि मोनिका

2
बस आपने कोड की कोशिश की। आप इसे f();Thats के साथ अच्छा चला सकते हैं ! मुझे नहीं पता था कि C ऐसा कर सकता है।
aloisdg का कहना है कि मोनिका

मुझे वास्तव में आप कोड पसंद है। मैं इसे 117 बाइट्स के परिणाम के लिए C # में पोर्ट करता हूं। मैं इसे पोस्ट करने के बारे में निश्चित नहीं हूं क्योंकि यह शाब्दिक रूप से आपका कोड है।
aloisdg का कहना है कि मोनिका

1
बेझिझक इसे पोस्ट करें, जब तक आप मुझे श्रेय देते हैं। :)
लिन

8

चेडर, 68 65 बाइट्स (गैर-प्रतिस्पर्धात्मक)

->(1:33).map(->IO.sprintf("%6s","="*Math.rand(1,7))).turn().vfuse

O_O चेडर वास्तव में अच्छा कर रहा है! उपयोग करता है sprintfऔर turnकाम का एक बड़ा हिस्सा करने के लिए। vfuseवर्टिकल-फ्यूज का अर्थ है कि यह एरे से जुड़ता है लेकिन लंबवत है। यह बहुत गोल्फ है, लेकिन यह भी तेजी से। संस्करण prerelease v 1.0.0-beta.10 है , जो चुनौती के बाद की तारीखों को दर्शाता है

व्याख्या

->           // Anonymous function
  (1:33)     // Range 1-33 inclusive
  .map(->    // Loop through the above range
    IO.sprintf("%6s",       // `sprintf` from C/C++
      "="*Math.rand(1,7)    // Repeat `=` a random time from [1,7)
    )
  ).turn().vfuse     // Turn it 90deg, and fuse it vertically

कुछ उदाहरण चलते हैं:

यहाँ छवि विवरण दर्ज करें


5

05AB1E , 22 बाइट्स

कोई ऑटो ज्वाइनिंग, ट्रांसपोज़ करते समय कोई ऑटोमैटिक फिलिंग नहीं, इस पर ओसाबी डूम किया जाता है। कोड:

33F6ð×6L.R'=×ðñ})ø€J¶ý

CP-1252 एन्कोडिंग का उपयोग करता है । इसे ऑनलाइन आज़माएं!


5

पायथन 2, 95 बाइट्स

from random import*
x=map(randrange,[6]*33)
for y in range(6):print''.join('= '[z>y]for z in x)

4

पायथन 3, 115 बाइट्स

अजगर को भी कभी नहीं हुआ था मौका ...

from random import*
for k in zip(*[[' ']*(6-len(j))+j for j in[randint(1,6)*['=']for i in[0]*33]]):print(*k,sep='')

यह काम किस प्रकार करता है

from random import*    Import everything in the random module
randint(1,6)*['=']     Create a list containing a random number in [1,6] of '='...
...for i in[0]*33      ...33 times...
[...]                  ...and store in a list X
for j in...            For all lists j in X...
[' ']*(6-len(j))+j     ...create a list containing j padded with the correct number of
                       spaces to give a height of 6...
[...]                  ...and store in a list Y

Y now contains a list for each output line, but transposed.

for k in zip(*...):...  For all lists k in the transpose of Y...
print(*k,sep='')        Print all elements in k with no separating space

Ideone पर इसे आज़माएं



3

स्पेकबास - 76 बाइट्स

1 FOR x=1 TO 33: r=1+INT(RND*6): FOR y=7-r TO 6: ?AT y,x;"=": NEXT y: NEXT x

संबंधित स्क्रीन पर एक समान चिह्न प्रिंट करता है।

यहाँ छवि विवरण दर्ज करें

रंग के एक स्थान और एक GOTOलूप के साथ यह बन जाता है

यहाँ छवि विवरण दर्ज करें


2

K4, 18 बाइट्स

अनिवार्य रूप से एपीएल समाधान का एक बंदरगाह (अनिश्चित रूप से)।

+-6$(33?1+!6)#'"="

2

सी #, 200 117 बाइट्स

()=>{var s="";int x,y=6;for(;y-->0;){var r=new Random();for(x=33;x-->0;)s+="= "[r.Next(6)<y?1:0];s+='\n';}return s;};

मैं @Lynn एल्गोरिथ्म में जाता हूं और 83 बाइट्स बचाता हूं !

बिना इनपुट के C # लैम्ब्डा और जहां आउटपुट एक स्ट्रिंग है। इसे ऑनलाइन आज़माएं

कोड:

()=>{
    var s="";int x,y=6;
    for(;y-->0;){
        var r=new Random();
        for(x=33;x-->0;)
            s+="= "[r.Next(6)<y?1:0];
        s+='\n';
    }return s;
};

2

हास्केल, 164 बाइट्स

विशुद्ध रूप से कार्यात्मक भाषा होने के नाते, हास्केल शुरू से ही बर्बाद था। मैंने इसे वैसे भी किया और यह पता चला, कि आवश्यक ओवरहेड वास्तव में इतना बड़ा नहीं है।

import System.Random
import Data.List
f r n|r>n=' '|0<1='='
s=do
g<-newStdGen
mapM_ putStrLn$transpose$map(\n->map(f$mod n 6)[0..5])(take 33(randoms g)::[Int])

उपयोग:

s

स्पष्टीकरण:

import System.Random

उपयोग करने में सक्षम होने के लिए newStdGenऔरrandoms

import Data.List

उपयोग करने में सक्षम होना transpose

f r n|r>n=' '|0<1='='

एक फ़ंक्शन को परिभाषित करता है जो एक अंतरिक्ष को प्रिंट करता है यदि इसका पहला तर्क दूसरे से बड़ा है और =अन्यथा। इसे map (f m) [0..5]किसी दिए गए नंबर mऔर सूची के साथ कहा जाता है [0,1,2,3,4,5]। (निचे देखो)

s=do
g<-newStdGen

एक नया मानक यादृच्छिक संख्या जनरेटर बनाता है

(take 33(randoms g)::[Int])

33 यादृच्छिक पूर्णांक लेता है।

map(\n->map(f$mod n 6)[0..5])

सूची में m = n % 6मैप और गणना (f m)करता है [0,1,2,3,4,5], जिसके परिणामस्वरूप इनमें से एक है "======", " =====", ..., " ="। इन पंक्तियों को तालिका में परिणामित 33 यादृच्छिक पूर्णांकों की सूची में मैप किया जाता है। (हास्केल में एक तालिका सूचियों की एक सूची है)

transpose$

स्तंभ और तालिका की पंक्तियों को स्विच करता है

mapM_ putStrLn$

तालिका में प्रत्येक पंक्ति प्रिंट करता है



1

गणितज्ञ, 78 बाइट्स

StringRiffle[(PadLeft[Array["="&,#+1],6," "]&/@5~RandomInteger~33),"
",""]&

अनाम फ़ंक्शन। कोई इनपुट नहीं लेता है और आउटपुट के रूप में एक स्ट्रिंग लौटाता है। यूनिकोड वर्ण U + F3C7 है, जो प्रतिनिधित्व करता है \[Transpose]


1

आर, 102 बाइट्स

m=rep(" ",33);for(i in 1:6){n=ifelse(m=="=",m,sample(c(" ","="),33,T,c(6-i,i)));m=n;cat(n,"\n",sep="")}

व्याख्या

m=rep(" ",33) आगामी लूप के लिए एक खाली वेक्टर init

n=ifelse(m=="=",m,sample(c(" ","="),33,T,c(6-i,i)))यदि =ऊपर की पंक्ति में एक है, तो सुनिश्चित करें कि नीचे का स्थान भी एक है =; अन्यथा बेतरतीब ढंग से उठाओ। रैंडम पिक्स को यह सुनिश्चित करने के लिए वेट किया जाता है कि ए) नीचे की पंक्ति सभी =और बी है) आपको पूरी चीज को एक साफ आकार मिलता है।

cat(n,"\n",sep="") उत्पादन कि अंत में एक newline और तत्वों के बीच कोई रिक्त स्थान के साथ कंसोल के लिए पंक्ति!


1

PHP, 95 92 89 बाइट्स

<?php for(;++$i<34;)for($j=6,$e=' ';$j--;)$a[$j].=$e=rand(0,$j)?$e:'=';echo join("
",$a);

वास्तव में यह बहुत खुश है। थोड़ी देर के लिए मेरे पास एक संस्करण था जो सिद्धांत रूप में कोई भी इनपुट उत्पन्न कर सकता था लेकिन व्यवहार में = के ठोस खंड उत्पन्न करेगा लेकिन यह छोटा और समान रूप से वितरित है!
जब भी आप इसे चलाते हैं तो 7 अपरिभाषित कुछ नोटिस उत्पन्न करता है लेकिन यह ठीक है।

संपादित करें: अच्छी तरह से मुझे सिर्फ इतना पता है कि जुड़ना गर्भपात का उपनाम है, इसलिए यह अच्छा है।


1

जे, 18 बाइट्स

|.|:'='#~"0>:?33#6

बहुत ही साधारण सामान। मील से बगफिक्स के साथ!


यह [0, 6] श्रेणी में यादृच्छिक पूर्णांक चुनता है जबकि ओपी [1, 6] चाहता था। आप >:?33#6[1, 6] रेंज में यादृच्छिक पूर्णांक प्राप्त करने के लिए कर सकते हैं । इसके अलावा, एक रैंक 0 प्रति का उपयोग कम होगा '='#~"0। इसका परिणाम यह होता है |.|:'='#~"0>:?33#6लेकिन दुर्भाग्य से, 2 बाइट की बचत अंत में वेतन वृद्धि ऑपरेटर के शामिल होने से कम हो जाती है।
मील

@ मीलों वाह, धन्यवाद! बहुत ही शांत।
कॉनर ओ'ब्रायन

1

पर्ल, 64 बाइट्स

@f=$_="="x33;s/=/rand>.4?$&:$"/ge,@f=($_.$/,@f)while@f<6;print@f

प्रयोग

perl -e '@f=$_="="x33;s/=/rand>.3?$&:$"/ge,@f=($_.$/,@f)while@f<6;print@f'
  = =           =  ==      =    =
  = =         ===  ==      =    =
= = =         ===  ==      =    =
= = =   = =   ===  ===   = =    =
= = == =====  === ====   ===  = =
=================================

पर्ल, 68 बाइट्स

वैकल्पिक संस्करण, जो कर्सर को स्थानांतरित करने के लिए ANSI एस्केप कोड पर निर्भर करता है, पहले 6 लाइनों को गिराता है, फिर मूल लाइन (सभी =s) को लिखते हुए , एक लाइन को ऊपर ले जाता है और बदले हुए स्ट्रिंग को प्रिंट करता है (s/=/rand>.4?$&:$"/ge ) को तब तक बार-बार जब तक कि यह अधिक प्रतिस्थापन न हो। यह छह से अधिक पंक्तियों को समाप्त कर सकता है, लेकिन अंततः इसे एक खाली रेखा के साथ बदल दिया जाता है।

नोट: \x1bवास्तव में ASCII Escवर्ण हैं।

print"\x1bc\x1b[6B",$_="="x33;print"\x1b[1A\x1b[33D$_"while s/=/rand>.4?$&:$"/ge

1

माणिक, 102 99 84 83 बाइट्स

s='
'*203;33.times{|j|a=(' '*rand(6)).ljust 6,'=';6.times{|i|s[i*34+j]=a[i]}};$><<s

नया और महत्वपूर्ण रूप से छोटा दृष्टिकोण, जहां मैं नई कहानियों से भरा स्ट्रिंग के साथ शुरू करता हूं।

पुराना संस्करण ...

s='';204.times do|i|s+=->i{i%34==0?"\n":i>170?'=':s[i-34]=='='?'=':rand(2)==1?'=':' '}[i]end;puts s

... अग्रणी नई लाइन के साथ उत्पादन दिया। रूबी में मेरा पहला सबमिशन, @ Barbarossa's के समान दृष्टिकोण का उपयोग करते हुए, लेकिन सिंगल लूप में।

इस कार्यक्रम में काम करते समय रूबी में मुझे क्या पसंद आया:

  • .times पाश
  • rand() जो बहुत कम है
  • कोष्ठक के बिना टर्नरी ऑपरेटरों को ढेर करना

मुझे पसंद नहीं आया (मुख्यतः गोल्फिंग के संदर्भ में):

  • $वैश्विक चर के लिए अनिवार्य है.timesलूप में इतना अनिवार्य नहीं है
  • doऔर endकीवर्ड जिसे सिंगल-लाइन ब्लॉक से बदला जा सकता है
  • 0 मिथ्या नहीं है

0

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

अभी भी यह थोड़ा गोल्फ पर काम कर रहा है। मुझे यह पसंद है क्योंकि यह सीधा है।

n=>{a=Array(33).fill(0).map(n=>Math.floor(Math.random()*6)+1);r=Array(6).fill("");r.map((e,m)=>{a.map(n=>{if (n<=m+1){r[m]+="="}else r[m]+=" "})});return r.join('\n');}

उपयोग:

>q=n=>{a=Array(33).fill(0).map(n=>{return Math.floor(Math.random() * 6)+1});
r=Array(6).fill("");r.map((e,m)=>{a.map(n=>{if (n<=m+1){r[m]+="="}else r[m]+=" "})});return r.join('\n');}
>q();
           = =  =   =    = =     
=   =    = = =  =  == =  = =  =  
= = =  = === ====  ====  = = === 
= = =  = === ==========  ======= 
= === ===========================
=================================

आप को बदलने के लिए सक्षम होना चाहिए .map(n=>{return Math.floor(Math.random() * 6)+1})के साथ .map(n=>Math.floor(Math.random()*6)+1)
लैंबडा

if (n<=m+1){r[m]+="="}elseहो सकता हैif(n<=m+1)r[m]+="=" else
aloisdg

मुझे अपना खुद का PRNG बनाना था, और मेरा फोर्थ प्रोग्राम ज्यादा लंबा नहीं है। : पी
mbomb007

0

फोर्थ, 190 बाइट्स

मुझे अपना खुद का PRNG बनाना था , यहाँ से एक xor-shift लिया गया । शब्द fवह शब्द है जिसे आप आउटपुट देखने के लिए कई बार कॉल करेंगे।

variable S utime S !
: L lshift xor ;
: R S @ dup 13 L dup 17 rshift xor dup 5 L dup S ! 6 mod ;
: f
33 0 DO R LOOP
1 -5 DO
33 0 DO
I PICK J + 0< 1+ IF ." =" ELSE SPACE THEN
LOOP CR
LOOP
; f

इसे ऑनलाइन आज़माएं - ध्यान दें कि सिस्टम समय दो मानों में से एक है जिसके आधार पर सर्वर (या कुछ) कोड चला रहा है। इसके अलावा, वे किसी कारण से ऑनलाइन आईडीई में नहीं बदलते हैं। तो आप केवल दो संभावित आउटपुट देखेंगे। आप मैन्युअल रूपutimeसे एक पूर्णांक मेंबदलकर बीज सेट कर सकते हैं।

Ungolfed

variable seed                   \ seed with time
utime seed !

: RNG                           \ xor-shift PRNG
seed @
dup 13 lshift xor
dup 17 rshift xor
dup 5 lshift xor
dup seed !
6 mod                           \ between 0 and 6, exclusive
;

: f 33 0 DO RNG LOOP            \ push 33 randoms
    1 -5 DO                     \ for (J = -6; J <  0; J++)
        33 0 DO                 \ for (I =  0; I < 33; I++)
            I PICK J + 0< 1+ IF \ if  (stack[I] < J)
                61 EMIT         \ print "="
            ELSE
                32 EMIT         \ print " "
            THEN
        LOOP
        CR                      \ print "\n"
    LOOP
; f

ऑनलाइन Ungolfed


0

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

// function that fills a column with a specified number of = signs
m=l=>Array(6).fill``.map((e,i)=>i<l?"=":" ");
// fill an array of 33 length with columns of random number of = signs
a=Array(33).fill``.map(e=>m(Math.ceil(Math.random()*6)));
// transponse the rows and columns and print to console
a[0].map((c,i)=>a.map(r=>r[5-i])).map(r=>console.log(r.join``))

नई कहानियाँ अनावश्यक हैं लेकिन वे यह देखना आसान बनाती हैं कि क्या हो रहा है। सबसे इष्टतम समाधान नहीं है, लेकिन यह मेरे लिए कम से कम समझ में आता है।

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