第70回 Yokohama.rb にてどう書くの問題にチャレンジした

はじめに

毎月第二土曜日ぐらいにYokohama.rbという地域Rubyコミュニティを開催しています。ここ最近、レシピブック読書会を @igrep さんと @nabetani さんに丸投げしていていました。

Rubyレシピブック 第3版 303の技

Rubyレシピブック 第3版 303の技

このままの状況、運営としてはイケてない!と感じ新しいコンテンツを探そうと思っていたところ、 @nabetani さんから「どう書く」のYokohama.rb版を提供して頂けることになり、早速試してみました。結局人様に頼りっきりで申し訳ないんですが...


今回の問題

今回の問題は、Rails on Tiles yokohama.rb 2016.7.9 問題

自分の戦略

ポイントは、画像で表現されているタイルをどのようにプログラムとして表現するか。ここがいろいろと悩みましたが、自分は「上辺のものはどこに移動するか」「左辺のものはどこに移動するか」...という形でHashで表現しました。こんな感じ。

Tiles = [
  {top: :left, left: :top, right: :down, down: :right},
  {top: :right, left: :down, right: :top, down: :left},
  {top: :down, left: :right, right: :left, down: :top},
  {top: :death, left: :death, right: :death, down: :death}
]

あとは、入力文字列をParseしてフィールドを作り、枠外もしくは行き先がdeathに行ったら処理終了という流れでベタに書きました。それが次のコード。


Yokohama.rb 70回で出題された問題の回答です。

わかりやすいコードを書くことを心掛けているので、多少長いのはしょうがないのですが、流石に長過ぎるのでもうちょっとあがいてみます。

他の人の答え

  • @hamaknさん


70th Yokohama.rb どう書く http://nabetani.sakura.ne.jp ...

  • @nabetaniさん

qiita.com

  • @nomnelさん

nomnel.hatenablog.com

次回は?

次回は8月第1週の8月6日開催予定です。

yokohamarb.doorkeeper.jp