首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Eyjafjallaj kull火山爆发?

Eyjafjallaj kull火山爆发?
EN

Code Golf用户
提问于 2016-11-30 20:15:55
回答 3查看 831关注 0票数 18

2010年,冰岛火山爆发(简称埃亚菲亚拉赫尔 ),导致我计划已久的航班被取消。

如果这种情况再次发生,我真的很想事先知道,所以请帮助我建立一个简单的视觉警报系统!

输入

冰岛气象局火山活动警报代码作为输入(字符串):

绿火山处于正常的非喷发状态。

黄色火山正经历着比已知背景水平更高的动荡迹象。

橙色-火山正表现出更大的动荡,爆发的可能性增加。

据预测,红色喷发即将来临,火山灰可能会大量排放到大气中。

输出

该图形(ASCII艺术)警报,说明了Eyjafjallaj kull的状态。

绿色(Eyjafjallaj kull正在休息)

代码语言:javascript
复制
      al   la 
     j       j
  jaf         öku
 y               l
E                 l
-------------------

黄色(冒出一些烟雾!)

代码语言:javascript
复制
       ~   ~
         ~
      al   la 
     j       j
  jaf         öku
 y               l
E                 l
-------------------

橙色(更多的烟!)

代码语言:javascript
复制
      ~  ~  ~
       ~   ~
         ~
      al   la 
     j       j
  jaf         öku
 y               l
E                 l
-------------------

红色(更多的烟雾和一些灰烬,也!)

代码语言:javascript
复制
   `~ ~ ~ ~ ~ ~`
    ` ~  ~  ~ ` 
     ` ~   ~ ` 
       ` ~ `  
      al   la 
     j       j
  jaf         öku
 y               l
E                 l
-------------------

规则

  • 您可以输出到屏幕(stdout),或者返回一个字符串。
  • 这是密码-高尔夫!最短的答案(以字节为单位),获胜
  • 请用o代替
  • 允许使用尾随空间,但不需要
  • 最多允许一个尾随换行符。
  • 最多允许4条引线(代替烟雾)。
EN

回答 3

Code Golf用户

回答已采纳

发布于 2016-11-30 23:55:17

Ruby,161

这是我对冰岛著名的地标建筑Eyjafjallaj kull Tower的看法。

相当短,但我还没有想出一个很好的方法来打高尔夫球。

代码语言:javascript
复制
->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]}

在测试程序

中未使用

代码语言:javascript
复制
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]
票数 2
EN

Code Golf用户

发布于 2016-11-30 21:12:42

批处理,284个字节

代码语言:javascript
复制
@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行有6个,第4行有3个。

票数 6
EN

Code Golf用户

发布于 2016-12-01 11:25:19

Python2,209个字节(208个字符)

代码语言:javascript
复制
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:])
票数 0
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/101637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档