ここ1か月くらい、エクセルマクロのお仕事を集中的にやってました。
エクセルのセルを見てると、オセロの盤面みたいに思えてきて・・・・・・・
エクセルでオセロゲームを作ってみようと思いつきました^^

  1. まずは盤面を作成しました。
    オセロ版って、8×8の盤面なんですね^^
  2. 盤面の黒丸と白丸の数を数えて表示し、数を判定して状況を表示するようにしました。(K2、L2、M1セル)
  3. オプションボタン(ラジオボタン)を作り、攻撃中の色がわかるようにしました。
    マクロの中でオプションボタンの状態を見ています。
  4. 初期化ボタンをつくり、盤面の消去と初期配置、オプションボタンの初期化及びシートの保護を行っています。
  5. クリックしたときのイベントは、シートの中のWorksheet_SelectionChangeイベントで拾ってます。
  6. クリックしたセルの周りのセルを調査し、相手の駒があれば自分の駒が見つかるまで探し、あれば反転し、クリックしたセルに自分の駒を置く。(再帰的呼び出しを設計なしで作るのは難しい)
  7. 反転できる駒がない場合、何もしない。

ここまでできました。(コメント入れても80Stepです。作業時間は2時間ほどです^^)
相手に置き場所がない場合の処理は作ってませんが、オプションボタンで切り替えられるのでよしとしました。(次期バージョンを作るなら考えます^^)

オセロ4