- 石置きゲーム m×n
- m×nの枡からなる盤に,2人のプレイヤーが交互に黒石●と白石○を置いていく.
- すでに石があるマスおよびその隣には置けない(ななめ隣は置ける)
- 置けなくなった方が負け(最後に置いた方が勝ち)である.
- m,nが共に奇数あるいは共に偶数はつまらない(なぜか?)
- m=1 でもnが大きいと結構面白い.
- 自由課題:後手必勝となるnをすべて求めなさい.
- オセロの盤を利用して,7×8,5×8くらいが適当な大きさである.
- 必修課題:5×8のプログラムを作りなさい.
- プログラムは徐々にふくらませていきます.
だいたい,次のように進めていったらいいでしょう.
-
- データ構造と表示方法を決める.
IshiOki1
画面上は5×8ですが,内部ではひとまわり大きく7×10にすると便利です.
一番外側の表示されない部分には,置けないことを意味する要素 Dame を入れます.
- 交互に石を置くようにする.
IshiOki2
石を置くだけでなく.置いたマスの隣のマスに,もう置けないように Dame を入れます.
とりあえず,4手置いたら終わることにします.
- 置く場所がなくなるまで続けるようにする.
IshiOki3
空のマスの個数を記憶する変数 KaraNoKazu を用意して,
盤を初期化するときに同時に初期設定して,
石を置くたびに埋まった分を減らします.
- コンピュータと対戦するようにする.
IshiOki4
コンピュータが置く場所は,1〜KaraNoKau の乱数を用いてでたらめに選びます.
- 提出期限
- 5月6日18時20分
- 提出方法
- [ファイル|名前をつけて保存]をクリックする.
- 新しいフォルダーを作り,フォルダー名を学生証番号(半角大文字,例 2ASS1234)にする.
- そのフォルダーの中に,プロジェクト名を Ishi学生証番号(例 Ishi2ASS1234)にして保存する.
- フォルダーの外に戻る.
- フォルダーを右クリックして,現れたメニュの「送る」をクリックする.
- 提出用(大矢)に送る.
|