「2013年04月」の記事

オセロゲームの機能向上してみました

2013年4月8日 / エクセル, パソコン, 仕事, 生活など

昨日作ったオセロにちょっと機能追加しました。

追加した機能は・・・・

  1. 駒を置いた後で終了判定を行う
  2. 全てのセルをチェックし、黒、白、空白の数を数えながら判定する。
  3. 次の攻撃が可能なら、そのまま次の攻撃者を変更する。
  4. 次の攻撃が不可能なら、以下の判定を行う
    1. 全部のセルが埋まった場合:終了のメッセージを出す
    2. 黒又は白だけになった場合:「XXの勝利」とメッセージを出す
    3. A,B以外=駒を置く場所があるが次の攻撃者が攻撃できない場合:「置場がありません。再度攻撃してください」とメッセージを出し攻撃者を変えない。

動くようにはなりましたが、コードが汚くなってしまった  ^^;;;

機能追加すると複雑になってしまう典型的なパターンでした。。

次はコンピュータと対戦できるやつを考えてみるかなぁ~

ちょっとだけ変更。
打った後でA1セルに戻してましたが、必要ないことに気づきました。
気になるちらつきが解消しました。

オセロ5

エクセルでオセロゲーム作ってみました。

2013年4月7日 / エクセル, パソコン, 仕事, 未分類, 生活など

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

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

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

オセロ4

プロフィール

志多木義浩
732-0821
広島市南区大須賀町17-5-709
TEL  080-3622-4171


大きな地図で見る

カテゴリー

WordPress

セキュリティニュース


TOPへ戻る

PAGE TOP