RubyWarriorに挑戦
同僚に教えてもらった「Ruby Warrior - Popular Free Ruby Programming Tutorial Game」に挑戦してみたのでコードを晒してみる。
https://github.com/nrmnr/ruby_warrior
当初、ターン制が分かってなくて、1ターンに2アクション起こして怒られたりした。
そこがわかれば、Level1、Level2、Level3のあたりは問題無し。コードがメッセージループ処理っぽくなるのは仕方ないか。
Level4で飛び道具を使う敵に苦戦。前のターンとのhealth値の比較で、攻撃されてるかどうかを判定する。
- 自分のターン(healthを保存)
- 敵のターン ←ダメージ!
- 自分のターン(healthが減っていれば攻撃されている)
みたいな。
- Rubyの学習と言うより、パズルを解く感覚で面白かった。
- CodeGolfしたり、少ないターンでクリアしたり、もう少し遊べそう。
- 単一のコードで全面クリアできるかと思ったけど、Levelによって使えないメソッドがあって無理っぽい。
追記
元はCLI版のゲームだったみたい。インストール方法などは↓このへんで。
Ruby Warrior Strategy Guide - Jumpstart Lab Curriculum
二次元マップもあって,まだ先は長かった。