2014年8月7日木曜日

Ruby Warrior をやってみる(Level1)

Ruby を楽しみながら学習できるサイト「Ruby Warrior」がどこかで紹介されていたのでやってみようと思う。


Ruby Warrior
https://www.bloc.io/ruby-warrior/#/

検索すると、回答サイトなどもあるので、詰まっても大丈夫。。。

さて、サイトを進むと、戦士のセーブ情報が表示され、次に名前を付ける事が出来る様になっている。ひとまず名前は初期の物でいいとする。
次に、初心者か中級者かの選択がある。
Ruby は、あまり使ってないので、とりあえず初心者を選択し、次へすすむ。

すると、レベル1が表示された。


You see before yourself a long hallway with stairs at the end. There is nothing in the way.
Call warrior.walk! to walk forward in the Player 'play_turn' method.

ああ、いきなり英語が分からない。。。
Google 翻訳で読んでみよう、、、

あなたは自分の前に最後に階段の長い廊下を参照してくださいの方法では何もありません

・・・???
さらにわからん。
ひとまず意訳でいこう。

「あなたの前には長い廊下があり、最後に階段がある。ただそれだけ」
「Player の 'play_trun' メソッドで warrior.wark! を呼んで前に歩かせてくれ」

こんな感じか。まあ、画面見たまんまなんですけどね。
なので、早速コードを書いていきましょう。

画面の下の部分にコードを書くエディタがあるので、そこに記述して Run! ボタンを押せば、コードが実行されていきます。

今回は、歩くだけなので相当簡単。

class Player
    def play_turn(warrior)
        warrior.walk!
    end
end

こんな感じですね。
ちなみに一回の play_trun() で、戦士の動作を行う事は1回のみと言うルールみたいで、warrior.walk! を続けて書くと実行時にエラーで怒られます。


warrior.walk! を一回にして実行すると、ターンが繰り返され無事階段まで辿り着き
の表示が出て次のレベルへ。
一応意訳で、 「成功!次の旅へ Ruby 戦士」うーんいまいち。
もうすこしゲームっぽく「やったぜ!Ruby 戦士よ次の旅へ向かうんだ!」かな?

ひとまず、Level1 は簡単で良かったです。

ここでは、クラスと、メソッドの記述方法、引数は warrior で、消しちゃいましたが "#" でコメントが扱えると言う事がわかりました。

この調子で次回は Level2 をやってみたいと思います。


0 件のコメント:

コメントを投稿