MSP:Mine Sweeper Project

2004-11-29

んでもって、なぜマインスイーパーなのか(3)

minesweeper fig.1

図に示した各パーツの機能は説明するまでも無いであろう。しかし、これらはGUIの基本をそれなりにおさえているのだと思うのだ。


  • (1)残り地雷の数表示:これはラベルwidgetで、表示と内部モデルをリンクさせる

  • (2)スタートボタン:入力ボタンであると同時に、任務成功・失敗のステータス表示機能も持つ。ボタンwidgetを入力に使い、かつ、画像を貼り付け・画像変更の機能を用いる

  • (3)経過時間表示:タイマーとリンク

  • (4)検査済み領域表示:地雷がないことおよび、隣接領域の地雷数合計表示

  • (5)未検査領域表示:検査/マーク入力ボタン、任務失敗時の地雷表示

あとは、任意のテキスト入力欄やチェックボックスなどのGUIパーツが使えれば通常のUIを構築するには十分である。これらについては、オプションで領域数の選択やハイスコア登録のインタフェースで使えばいいだろう。
というわけで、マインスイーパーはシンプルで十分なインタフェースを試すのにちょうどよいアプリと思うわけだ。
もうひとつ加えるならば、ゲームのルールもシンプルであるため、ルール自体の抽象度をアレンジすることにより、プログラミングスタイルの工夫や発展があるだろうとも考えている。まあ、これについては、とにかく動くものを作ってからだな。