Eyjafjallajökull का विस्फोट?


18

2010 का वर्ष, एक आइसलैंडिक वल्केनो, जिसे नेत्रजफजलजकोकुल नाम दिया गया है , का विस्फोट हो गया, जिसके परिणामस्वरूप मेरी लंबे समय की योजना रद्द हो गई।

यदि ऐसा कभी होता है, तो मैं वास्तव में पहले से जानना चाहूंगा, इसलिए कृपया मुझे एक सरल दृश्य चेतावनी प्रणाली बनाने में मदद करें!

इनपुट

इनपुट (स्ट्रिंग) के रूप में आइसलैंडिक मौसम विज्ञान कार्यालय ज्वालामुखी गतिविधि चेतावनी कोड लें :

ग्रीन - ज्वालामुखी सामान्य, गैर-विस्फोट अवस्था में है।

येल्लो - ज्वालामुखी ज्ञात पृष्ठभूमि स्तरों से ऊपर उठे अशांति के संकेतों का अनुभव कर रहा है।

ऑरेंज - ज्वालामुखी विस्फोट की संभावना में वृद्धि के साथ बढ़ अशांति का प्रदर्शन कर रहा है।

लाल - विस्फोट की संभावना वातावरण में राख के महत्वपूर्ण उत्सर्जन के साथ आसन्न होने का अनुमान है।

उत्पादन

ग्राफिक (ASCII कला) अलर्ट, Eyjafjallajökull की स्थिति को दर्शाता है।

GREEN (Eyjafjallajökull आराम कर रहा है)

      al   la 
     j       j
  jaf         öku
 y               l
E                 l
-------------------

पीला (कुछ धुआं दिखाई देता है!)

       ~   ~
         ~
      al   la 
     j       j
  jaf         öku
 y               l
E                 l
-------------------

ऑरेंज (अधिक धुआं!)

      ~  ~  ~
       ~   ~
         ~
      al   la 
     j       j
  jaf         öku
 y               l
E                 l
-------------------

लाल (और भी अधिक धुआं और कुछ राख, भी!)

   `~ ~ ~ ~ ~ ~`
    ` ~  ~  ~ ` 
     ` ~   ~ ` 
       ` ~ `  
      al   la 
     j       j
  jaf         öku
 y               l
E                 l
-------------------

नियम

  • आप स्क्रीन (स्टडआउट) पर आउटपुट कर सकते हैं, या एक स्ट्रिंग लौटा सकते हैं
  • यह ! सबसे छोटा जवाब (बाइट्स में) जीतता है
  • बदलने के लिए स्वतंत्र महसूस ö साथ
  • ट्रेलिंग रिक्त स्थान की अनुमति है, लेकिन आवश्यक नहीं है
  • अधिकतम एक अनुगामी न्यूलाइन की अनुमति है
  • अधिक से अधिक 4 प्रमुख समाचारों की अनुमति है (धुएं के स्थान पर)

उच्चारण AY-JAH-FUH-JUH-AH-LAH-JUh-KUh-EW-LUH:?
मैजिक ऑक्टोपस Urn

@carusocomputing - लगभग यह! :)
ज़ेपेलिन

Tungnafellsjökull की तुलना में कम से कम यह छोटा है : P
FlipTack

@DrMcMoylex नहीं, बस एक टाइपो, अब तय किया जाना चाहिए। धन्यवाद !
zeppelin

आप नाम संक्षिप्त नहीं होने के बारे में मजाक करते हैं, लेकिन यह वास्तव में बहुत ही वर्णनात्मक और इसके अंग्रेजी अनुवाद "द्वीप पर्वत ग्लेशियर" से छोटा है और बहुत अधिक सुंदर लगता है। : पी
मार्टिन एंडर

जवाबों:


2

रूबी, 161

यहाँ आइसलैंड के प्रसिद्ध लैंडमार्क, आईजफजालजजकोल टॉवर पर मेरा ले जाना है।

यथोचित रूप से कम लेकिन मैं अभी तक धुआं गोल्फ के लिए एक अच्छा तरीका नहीं आया।

->n{m=85-n[-3].ord>>2
%w{`~+~+~+~+~+~` `+~++~++~+` `+~+++~+` `+~+` al%3sla j%7sj jaf%9soku y%15sl E%17sl}.map{|i|(i%"").tr(?++?`*m," ").center(19)}[m,9]+[?-*19]}

परीक्षण कार्यक्रम में अपराजित

f=->n{m=85-n[-3].ord>>2     #From ASCII code of 3rd from last letter, derive m=0 for RED up to 4 for GREEN (uppercase.)
  %w{`~+~+~+~+~+~` `+~++~++~+` `+~+++~+` `+~+` al%3sla j%7sj jaf%9soku y%15sl E%17sl}.
  map{|i|                   #For each line above decode as follows:
    (i%"").                 #Replace %Xs with X spaces, by inserting  empty strings and padding sprintf style. 
    tr(?++?`*m," ").        #Replace + with space. If not red, replace ` with space.
    center(19)}[m,9]+       #Centre output to 19 characters per line. Start printing at line m and go on to the end (never more than 9 lines.)
  [?-*19]                   #Add a row of --- at the bottom.
}

puts f[gets.chomp]

6

बैच, 284 बाइट्स

@set e=echo 
@%e%off
set s=      
set t=   
goto %1
:RED
set t= ` 
%e%   `~ ~ ~ ~ ~ ~`
:ORANGE
%e%   %t%~  ~  ~%t%
:YELLOW
%e%    %t%~   ~%t%
%e%%s%%t%~%t%
:GREEN
%e%%s%al   la 
%e%     j%s% j
%e%  jaf %s%  oku
%e% y %s%%s%  l
%e%E%s%%s%%s%l
%e%--------------------

नोट: लाइनों 1 और 7 में एक अनुगामी स्थान है, रेखा 3 में छह और रेखा 4 में तीन हैं।


1
का अच्छा उपयोग goto
NoOneIsHere

1

PHP, 307 288 279 बाइट्स

$o=" ";while($x<19)$o[$x+19*(($d=abs($x-9))>4?$d>7?$d-5:2:$d>3)]="Eyjafjal   lajokull"[$x++];echo strtr((($n=ord($argv[1])/8&3)-2?"":"   1~ ~ ~ ~ ~ ~2\n").($n%3?"     1~  ~  ~2\n":"").($n?"      1~   ~2\n       1 ~ 2\n":"").chunk_split(str_pad($o,114,"-"),19),12,$n-2?"  ":"`´");

बदसूरत

टूट - फूट

$o=" ";                                         // 0.init $o to string
while($x<19)$o[$x+19*(                      // 1.paint volcano
    ($d=abs($x-9))>4?$d>7?$d-5:2:$d>3           // 1a map [0..19] to row offsets
    )]="Eyjafjal   lajokull"[$x++];
echo strtr(                                     // 7. print
    (($n=ord($argv[1])/8&3)                     // 4.map GYOR to 0312
        -2?"":"   1~ ~ ~ ~ ~ ~2\n")             // 5a.add smoke & stuff for red
        .($n%3?"     1~  ~  ~2\n":"")           // 5b for orange
        .($n?"      1~   ~2\n       1 ~ 2\n":"")// 5c for yellow
    .chunk_split(                               // 3.insert linebreaks
        str_pad($o,114,"-")                     // 2.add ground
    ,19)
,12,$n-2?"  ":"`´");        // 6.replace stuff with ticks for red, with blanks else

1

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

c=>[344,592,160,640,192,32,28,2,1,~0].map(n=>(s='6222222661116600660').replace(/./g,(_,i)=>n&(1<<i|512>>i-9)?(s+'6allajjjafökuylEl')[p++]||'-':' '),p=0).join`
`.replace(/\d/g,n=>n%4<'GYOR'.search(c[0])?n&4?'`':'~':' ')


1

जावास्क्रिप्ट (ईएस 6), 286 262 199 194 183 बाइट्स

फ़ंक्शन के लिए इनपुट पास f(), उदा f('GREEN')

Y=`7~3~
9~
`
f=n=>({G:'',Y,O:`5 ~2~2~
`+Y,R:'3`~ ~ ~ ~ ~ ~`\n4` ~2~2~ `\n5` ~3~ `\n7` ~ `\n'}[n[0]]+`6al3la
5j7j
2jaf9oku
 y15l
E17l
`+'-'.repeat(19)).replace(/\d+/g,n=>' '.repeat(n))

-63 बाइट्स: रिक्त स्थान उत्पन्न करने के लिए फ़ंक्शन के बजाय रेगेक्स का उपयोग किया।


क्या sवास्तव में इसके लायक है? मेरी गिनती से, यह 4 बाइट्स बचाता है ... लेकिन लागत 16 बाइट्स। दूसरी ओर, मुझे लगता है कि आप _अधिक उपयोग करके कुछ बाइट्स बचा सकते हैं ।
नील

ORANGE के लिए अमान्य परिणाम उत्पन्न करता है (धुआं सही तरीके से संरेखित नहीं किया गया है)
zeppelin

@ नील हां, मैंने अनुमान लगाया था कि मुझे इसकी वास्तव में आवश्यकता से अधिक बार इसकी आवश्यकता होगी। : P
darrylyeo

@zeppelin फिक्स्ड।

अब यह मेरे लिए "r परिभाषित नहीं है" के साथ विफल रहता है :(
zeppelin

1

> <> (मछली) 351 339 302 बाइट्स

\l?!;o00.>~00.
\a"-------------------"a"l                 E"a"l               y "a"ukö         faj  "a"j       j     "a" al   la      "
\i:"R"-?!v
 " `  "a~<|.!00"   `~ ~ ~ ~ ~ ~`"a"    ` ~  ~  ~ ` "a"     ` ~   ~ ` "a"       ` ~"
\ :"G"-?!v
\}a"~         "a"~   ~       "
\{:"Y"-?!v
\~a"~  ~  ~      "

इस समय काफी बुनियादी और बदसूरत है, मैं इसे कम करने के लिए गोल्फिंग पर काम कर रहा हूं, लेकिन 'RED' इनपुट लाइनों को फिर से उपयोग करना कठिन बनाता है।

1 संपादित करें; लाइन टूटने को कम करने के लिए 1 लाइन पर प्रारंभिक ज्वालामुखी स्ट्रिंग को स्थानांतरित किया, खाली स्थान को भरने के लिए रिवर्स में 'RED' स्ट्रिंग को स्थानांतरित किया। (12 बाइट्स सहेजे गए)

2 को संपादित करें, 'O' चेक को बाहर निकालें और केवल प्रिंट करें यदि अन्य 3 इनपुट नहीं हैं (यह किसी भी गैर 'हरे, लाल, नारंगी, पीले' इनपुट को निर्दिष्ट नहीं करता है। इसके अलावा स्ट्रिंग्स को बाईपास करने के लिए आंदोलन और उपयोग किए गए रिक्त स्थान को बाहर निकाल दिया। अतिरिक्त आदेश। (37 बाइट्स सहेजे गए)

परीक्षण करने के लिए ऑनलाइन संस्करण!


0

पायथन 2, 209 बाइट्स (208 चार्ट)

s=' '
y=' ~ '
v='ROY G'.index(input()[0])
a='` '[v>0]
print'\n'.join([s*3+a+'~'+' ~'*5+a,s*4+a+y*3+a,s*5+a+y*2+a,s*7+a+y+a,s*6+'al   la ',s*5+'j       j\n  jaf'+s*9+'öku\n y'+s*15+'l\nE'+s*17+'l','-'*19][v:])
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.