首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >建立一个简单的Roguelike

建立一个简单的Roguelike
EN

Code Golf用户
提问于 2012-08-24 01:49:20
回答 1查看 1.7K关注 0票数 8

这个挑战是基于几年前在usenet组rec.games.roguelike.development上提出的。我找不到原来的新闻组帖子,但是你可以看看Github回购解决方案。它只是用几种语言打的,我很想多看一些!

目标

目的是构建一个使用ascii字符显示地牢自上而下视图的程序。将有一个@标志,代表玩家可以通过自由空间在地牢(代表),虽然它不能通过墙壁(由#表示)。

地牢的地图一定是这样的:

代码语言:javascript
复制
####  ####
#  #  #  #
#  ####  #
#        #
##      ##
 #      #
 #      #
##      ##
#        #
#  ####  #
#  #  #  #
####  ####

播放机必须从{2,2}开始,其中{0,0}是左上角.

接口

用户需要能够使用键盘上的箭头键在四个主要方向移动播放器。

用户需要有某种方式退出程序。它不需要是一个优雅的退出(例如,如果输出一个异常并不重要)。

需要在任何输入之前绘制地图和播放器,并且需要在每次输入之后更新播放机。

图书馆

可以随意使用已建立的库进行控制台输入或输出,例如Curses。只要在你的回答中提到你正在使用的东西。

评分

这是代码高尔夫,最短代码获胜!

EN

回答 1

Code Golf用户

发布于 2012-08-24 03:58:38

Ruby1.9+诅咒(248)

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

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

复制
相关文章

相似问题

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