Othello Game
オセロゲームを作成することで,実践的なプログラミングを行ってみよう。
オセロ
誰でも知っているとは思うが,そのルールを解説しておく。
- 下図のように 8×8 のゲーム盤上に,4個の石が初期状態としておいてある。
- 交互に自分の色の石を置いていく。
- 石をおける場所は,自分の色の石で相手の石が1個以上挟める所である。挟む方向は,縦横斜めのどれでもよい。
- このとき,挟まれた石は,自分の色の石となる。
- 石をおける場所がない場合には,パスをする。
- 石をおける場所がある場合には,パスはできない。
- 両者とも石をおける場所がなくなった場合,ゲームは終了する。
- ゲーム終了時の石の個数で勝敗を決める。
ゲーム盤の列と行には図のように,記号と番号がついている。ゲーム盤のマス目は「dの4」のように列と行の記号と番号で指定される。
プログラム仕様
これから作るプログラムの仕様をここで決めておく。
目標のレベルを二つ設定し,それぞれ次のようなプログラムを作ることにする。
第1レベル プログラム仕様
- プレーヤーは双方とも人間とする。
- プレーヤーは標準入力から石を置く場所を入力する。
-
手の合法性の判断,挟まれた石の処理,ゲーム終了の判断,勝敗の判断,ゲーム盤の再表示,これらのことをプログラムが自動的に行う。
-
画面出力は,グラフィックスではなく,標準出力に対してキャラクタで表示することにより,出力する。
これは,見栄えよりも,アルゴリズムの実現という目標に絞るためである。
第2レベル プログラム仕様
- プレーヤーを,人間とコンピュータから選択できる。
- 後の仕様は,第1レベルと同様である。しかし,この第2レベルは,第1レベルと比べて,まさにレベルが違うほど難しい。授業時間内にこのレベル
が完成できるかどうか分からないが,目標としておく。
プログラムの作成
第1レベル
次の3ステップで作成する.
- ゲーム盤
- 石を裏返す
- ゲームの進行
第2レベル