游戏
今日应用:Ruby Warrior 让你玩会编程
让你多了一个正大光明玩游戏的理由。
- Ruby Warrior 看起来像是简单地横版 RPG,有攻击敌人、休息回血,以及解救俘虏等元素;
- 但是,你操控角色的方式并不简单地点几个按钮,而是通过输入 Ruby 编程语言来控制角色;
- 你对 Ruby 语言的掌控程度决定你游戏的分数,所以,这是一款有深度的编程游戏。
今天的世界是一个程序的世界。那些不断塑造着我们今日生活的互联网公司,最初都是由某几条出色的代码开始起步的。而编程语言才是维系我们这个社会运作的真正通用语。
因此,学一点编程会让我们更好地了解这个世界是如何被改变的。你并不需要去精通某一种语言,但知道这个网络世界背后的逻辑基石是必要的。通过敲打着这块基石,你就多少能够听到我们现实生活的回音。
所以,如果你有一两天的空闲时间,那就来试试这款叫 Ruby Warrior 的游戏吧。它以一种有趣的方式教授你一些逻辑的语言,例如什么是 if(如果)、elsif(否则)以及 else(除)。
这个课程被设计成了最经典的游戏类型,横版过关类游戏。玩家扮演游戏中的勇士,需要过关斩将赢取胜利。但是你的勇士不会因为你的方向键移动半步,你只有在下面的编程部分输入正确的代码才能够让角色移动。
第一关是最简单的,你只需要让角色移动到最左边的楼梯前就算完成任务。输入 warrior.walk!(勇士。前进!) 后,运行程序,你就会发现你的勇士根据你的指令一直走动前进。
第二关就有些难度,因为出现了敌人。你需要在输入 warrior.walk! 的同时假设勇士遇到敌人的情况,那就是 warrior.attack!(勇士。攻击!)
在这个过程中,你就能够逐渐了解编程语言的逻辑,游戏后面的关卡会越来越难。
当然,游戏的难度并不仅仅体现在你解决了某一个关卡,因为每一关的解决办法多种多样。在很多关卡中,你可以使用比较“生硬”的代码来过关,但在下一关中你的编程方式就不方便继续使用。
就比如,你使用一些小伎俩蒙骗过关,但是这个伎俩在下一个问题出现时就不起作用了。所以,能否找到简洁且能够高效完成所有关卡的编程方式,是考验一个程序员对 Ruby 语言熟练度的重要指标。
这款“游戏”既能够激发初学者的兴趣,又可以磨练程序员的水平,可以说是难得的精品。拿出看几部无聊电视剧的时间去咚咚地敲一敲这个世界的基石,它的回音一定会让你陶醉的。
原文链接 (已下线): https://www.qdaily.com/articles/6355.html
Wayback 快照: http://web.archive.org/web/20190623170233/https://www.qdaily.com/articles/6355.html
原始截图: http://ww3.sinaimg.cn/large/007d5XDply1g3whk5vum9j30u02pvkh1