这个挑战是基于几年前在usenet组rec.games.roguelike.development上提出的。我找不到原来的新闻组帖子,但是你可以看看Github回购解决方案。它只是用几种语言打的,我很想多看一些!
目的是构建一个使用ascii字符显示地牢自上而下视图的程序。将有一个@标志,代表玩家可以通过自由空间在地牢(代表),虽然它不能通过墙壁(由#表示)。
地牢的地图一定是这样的:
#### ####
# # # #
# #### #
# #
## ##
# #
# #
## ##
# #
# #### #
# # # #
#### ####播放机必须从{2,2}开始,其中{0,0}是左上角.
用户需要能够使用键盘上的箭头键在四个主要方向移动播放器。
用户需要有某种方式退出程序。它不需要是一个优雅的退出(例如,如果输出一个异常并不重要)。
需要在任何输入之前绘制地图和播放器,并且需要在每次输入之后更新播放机。
可以随意使用已建立的库进行控制台输入或输出,例如Curses。只要在你的回答中提到你正在使用的东西。
这是代码高尔夫,最短代码获胜!
发布于 2012-08-24 03:58:38
require'curses';include Curses;noecho;curs_set 0
b=0xf3e499e601c0d0240b0380679927cf.to_s(2).tr'01',' #'
s=init_screen<<b.scan(/.{10}/)*$/;s.keypad 1
p=22;d=->t=?@{setpos p/10,p%10;addch t;6};d[]
loop{p=b[v=p+[10,-10,-1,1][getch%d[32]]]<?#?v:p;d[]}https://codegolf.stackexchange.com/questions/7074
复制相似问题