RubyWarrior完全攻略~初級編~ Level8

Level8です。
魔法使いが出てきました。
f:id:tumiki_jp:20150624224130p:plain You hear the mumbling of wizards. Beware of their deadly wands! Good thing you found a bow.
あなたは、ウィザードのぶつぶつ言うを聞きます。その致命的なワンドの用心!事良いあなたは弓を見つけました。
Use warrior.look to determine your surroundings, and warrior.shoot! to fire an arrow.
あなたの環境を決定し、 warrior.shootするwarrior.lookを使用してください!矢を発射します。

今回は苦戦しました。
というのも、
google翻訳を見ると、
warrior.lookメソッドを使って前を確認し、
warrior.shoot!しましょう。
としか書いてなかったからです。
なので、warrior.lookメソッドの使い方が
分かりませんでした。
そうこう悩んでいるうちに、
アビリティ一覧に使い方が書いてある事に気づき
(英語なので苦戦しましたが。)
事なきを得ました。
今まで見る必要なかったので、すっかり忘れてた・・・。

で、できたのがこれです。
warrior.lookメソッドを呼び出すと、
目の前の3マスの状態を
戻り値としてspaceオブジェクトの配列で返します。
このspaceオブジェクトには

  • empty?
  • enemy?

等のメソッドがあり、
そのマスに敵がいるかどうかを確認できます。
これを使って、
3マス目に敵がいる時は、弓を打ち、
2マス目に敵がいる時は、一歩下がる。
というプログラムにしました。

良い感じに動きました。