玩”Ruby勇士“游戏来学习Ruby

xiaoxiao2026-03-11  11

这个游戏是由ryanb(就是制作railscasts的牛牛)编写的。 项目主页:[url]http://github.com/ryanb/ruby-warrior/tree/master[/url] git拖下来: [u]git clone git://github.com/ryanb/ruby-warrior.git [/u] 也可以直接打开项目主页,点击下载按钮下载解压即可. 这个游戏以一种有趣交互的方式来教你使用Ruby语言和人工智能。 在游戏中你扮演一个勇士去攀登高塔得到顶层的珍贵的红宝石。 在塔中每一层也就是每一关,你需要编写一个Ruby脚本来指导主角如何到达楼梯处然后进入下一关。 这是Ruby勇士,play_turn相当于回合制游戏中的一个合回。 class Player def play_turn(warrior) # your code goes here 代码写在这里 end end 在每一关你必须给足主角战斗的力量,你得考虑主角还有多少生命值,什么时候得休息恢复一下生命值等等。[b]注意:每一个回合里,主角只能有一步操作。[/b] 随着一关关的进行,游戏主角操作的能力会越来越多,敌人越来越难,就看你如何编写出漂亮的代码让主角通关啦。 具体玩法: 把项目下载到本地后,直接进入ruby-warrior/bin目录,运行rubywarrior命令就可以开玩了。 系统会提示你是选择入门级别还是高手级别的。输入数字选好后回车,会在当前的ruby-warrior/bin目录下生成一个ruby-warrior/beginner-tower目录(选择入门级别) 第一关会生成一个level-001目录,里面有player.rb和Readme文件,照着README文件来进行没错。 在每一关的目录中把代码编写好后,执行[b] ./rubywarrior [/b]命令来运行 编写的代码 第一关: 这关很简单,就是要主角直接走到楼梯外就可以了。 class Player def play_turn(warrior) warrior.walk! # 在第一关只有这个行走的方法。 endend 第一关执行过程和结果: [quote]qichunren@qichunren-laptop:~/code/ruby-warrior/bin$ ./rubywarrior Welcome to Ruby Warrior [1] qichunren - beginner - level 1 - score 0 [2] New Profile Choose profile by typing the number: 1 Starting Level 1 - turn 1 - -------- |@ >| -------- qichunren walks forward - turn 2 - -------- | @ >| -------- qichunren walks forward - turn 3 - -------- | @ >| -------- qichunren walks forward - turn 4 - -------- | @ >| -------- qichunren walks forward - turn 5 - -------- | @ >| -------- qichunren walks forward - turn 6 - -------- | @ >| -------- qichunren walks forward - turn 7 - -------- | @>| -------- qichunren walks forward Success! You have found the stairs. Level Score: 0 Time Bonus: 8 Clear Bonus: 2 Total Score: 10 Would you like to continue on to the next level? [yn] [/quote] 第二关:这关里有一个敌人,主角得走一下判断一下,如果遇到了敌人就干掉它。 class Player def play_turn(warrior) if warrior.feel.empty? warrior.walk! else warrior.attack! end endend 第二关执行过程和结果: [quote]qichunren@qichunren-laptop:~/code/ruby-warrior/bin$ ./rubywarrior Welcome to Ruby Warrior [1] qichunren - beginner - level 2 - score 10 [2] New Profile Choose profile by typing the number: 1 Starting Level 2 - turn 1 - -------- |@ s >| -------- qichunren walks forward - turn 2 - -------- | @ s >| -------- qichunren walks forward - turn 3 - -------- | @ s >| -------- qichunren walks forward - turn 4 - -------- | @s >| -------- qichunren attacks Sludge Sludge takes 5 damage, 7 health power left Sludge attacks qichunren qichunren takes 3 damage, 17 health power left - turn 5 - -------- | @s >| -------- qichunren attacks Sludge Sludge takes 5 damage, 2 health power left Sludge attacks qichunren qichunren takes 3 damage, 14 health power left - turn 6 - -------- | @s >| -------- qichunren attacks Sludge Sludge takes 5 damage, -3 health power left Sludge dies qichunren earns 12 points - turn 7 - -------- | @ >| -------- qichunren walks forward - turn 8 - -------- | @ >| -------- qichunren walks forward - turn 9 - -------- | @ >| -------- qichunren walks forward - turn 10 - -------- | @>| -------- qichunren walks forward Success! You have found the stairs. Level Score: 12 Time Bonus: 10 Clear Bonus: 4 Total Score: 36 Would you like to continue on to the next level? [yn][/quote] 很好玩的游戏,大家来继续,我这里就不演示下去了。
转载请注明原文地址: https://www.6miu.com/read-5045724.html

最新回复(0)