kaakaa Blog

この世は極楽 空にはとんぼ

みなとRuby会議01の「あみだくじ」問題をJavaで組んでみた

みなとRuby会議01のソーシャルコーディングでやらなかった方の問題をjavaで組んでみた。

問題

あみだくじを作ってください。

・当たりの数は一つ
・横線がランダムに配置されること
・横線の数>0
・横線が複数繋がってはいけない
・人数(例の場合A~Eの5人)の指定が出来るようにしてください

例
A   B   C   D   E
|   |   |   |   |
|---|   |   |   |
|   |   |   |   |
|   |---|   |   |
|   |   |---|   |
|   |   |   |   |
|   |---|   |   |
|   |   |   |---|
|   |   |   |   |
!!!

30分で組もうと思ったけど、結局5分ほどオーバーしてしまった。
ある程度、頭で構造浮かんでたので30あれば行けるだろ〜とか甘い考えしてました。作りはじめたら出るわ出るわ問題の山。もっともっとたくさんコード書かなきゃいかんなぁ。

しかも、出来たとは言え

  • 人数は5人固定
  • すべての行に横線がある

というダメダメっぷり。

MacEclipseだとjUnitも上手く動かず、テスト一個も書いてないし。
昨日の反省は何だったんだw

みなとRuby会議01 ソーシャルコーディング あみだくじ — Gist

とりあえず今後やれたらやりたい修正は

  • 人数を自由に設定出来るようにする
    • プレイヤー名生成してくれるクラス作る
  • 横線の数はランダム
    • 一個一個判定しながら横線入れるようにしたいな。複数繫がっちゃいけないから、一回横線挿入されたら、次の部分は横線が入る確率0になるようにしたり。
    • 乱数の生成方法に多様性持たせるために乱数ジェネレータみたいなのを作る

まだまだ息を吸う様にコードは書けないなぁ…