エクセルでオセロゲーム作ってみました。
ここ1か月くらい、エクセルマクロのお仕事を集中的にやってました。
エクセルのセルを見てると、オセロの盤面みたいに思えてきて・・・・・・・
エクセルでオセロゲームを作ってみようと思いつきました^^
- まずは盤面を作成しました。
オセロ版って、8×8の盤面なんですね^^ - 盤面の黒丸と白丸の数を数えて表示し、数を判定して状況を表示するようにしました。(K2、L2、M1セル)
- オプションボタン(ラジオボタン)を作り、攻撃中の色がわかるようにしました。
マクロの中でオプションボタンの状態を見ています。 - 初期化ボタンをつくり、盤面の消去と初期配置、オプションボタンの初期化及びシートの保護を行っています。
- クリックしたときのイベントは、シートの中のWorksheet_SelectionChangeイベントで拾ってます。
- クリックしたセルの周りのセルを調査し、相手の駒があれば自分の駒が見つかるまで探し、あれば反転し、クリックしたセルに自分の駒を置く。(再帰的呼び出しを設計なしで作るのは難しい)
- 反転できる駒がない場合、何もしない。
ここまでできました。(コメント入れても80Stepです。作業時間は2時間ほどです^^)
相手に置き場所がない場合の処理は作ってませんが、オプションボタンで切り替えられるのでよしとしました。(次期バージョンを作るなら考えます^^)