07 « 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 09

Orfeon Blog

読んだ本の要約、感想など。 他にも日々思ったことをつれづれと書き連ねます。

スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Posted on --/--/-- --. --:-- [edit]

category: スポンサー広告

TB: --    CM: --

--

NOT 30 



1ヶ月間ブログ未更新だと表示される広告を消す為にFlexの勉強も兼ねて2時間で作ったプログラム。

「遊び方」
だいぶ前に流行っていた(?)ノットハンドレッドと同じルールのゲームで、 30個ある石をプレイヤとコンピュータが、予め決めた範囲内の数で交互に取ってゆき、最後の1個を取った方が負けというシンプルなルールです。
最大取得数と先攻、後攻を選択して、開始を押すとゲームがスタートします。 右下の方から石を選んでクリックすると石を取得できます。プレイヤが取得した後はコンピュータが石を取得します。プレイヤが取得した石は緑色で、コンピュータが取得した石は灰色で表示されます。 交互に石を取ってゆき、最後の左上の1個を取る羽目になった方が負けとなります。

「実装」
ゲームといいつつ、コンピュータは常に必勝パターンで石を取得してくるので、ゲームの必勝パターンを見破らないと勝てません。元ネタは確か東大大学院の院試問題だったと思いますが、プログラムにしてわずか1行で実装できるとてもシンプルなパターンです。 何度かゲームをしてよーくコンピュータの石の取り方を見ていると必勝パターンは見えてくると思います。
今回、時間がかかったのは、内容が単純なコーディングよりもUI仕様設計の方でした。お互い取った石をわかり易くUIで表現するにはどうしたらいいか少し工夫する必要があったからです。 今回は全体の石の数を30個としていますが、ここはプレイヤが自由に設定できるようにもできるものの、面倒なので30個で決め打ちに。1回の最大取得数を同様に2~8個の範囲内で決め打ち。この数字には特に意味はないです。
今回は、Flexのmxmlによる実装を行ったのですが、やはりUIの設計はFlexを使うとかなり楽にできてしまいます。日本でのFlex Builder3の発売が待ち遠しいです。
スポンサーサイト

Posted on 2008/03/01 Sat. 13:05 [edit]

category: 自作プログラム

tag: flex  actionscript 
TB: 0    CM: 0

01

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。