Ruby战士(Ruby Warrior)开源项目,把学习Ruby的过程放在了勇士闯关的游戏中。玩家扮演一个勇士,通过爬上高塔,到达顶层获取珍贵的红宝石(Ruby)。在每层,玩家都需要写一个Ruby脚本指导战士打败敌人、营救俘虏、到达楼梯。必须给战士足够的指令,以便让其自行寻找应对的方式。

勇士的动作相关API:

warrior.walk! 用来控制勇士的移动,默认方向是往前

warrior.feel 使用勇士来感知前方的情况,比如是空格,还是有怪

warrior.attack! 让勇士对怪物进行攻击

warrior.health 获取勇士当前的生命值

warrior.rest! 让勇士休息一回合,恢复最大生命值的10%

勇士的感知API:

space.empty? 感知前方是否是空格

space.stairs? 感知前方是否是楼梯

space.enemy? 感知前方是否有怪物

space.captive? 感知前方是否有俘虏

space.wall? 感知前方是否是墙壁

玩耍网站:https://www.bloc.io/ruby-warrior/

源码下载:https://github.com/ryanb/ruby-warrior