Excelはオセロになりますか?その2
前回からの続きです
今日も元気にExcelでオセロを作成していきましょう('ω')ノ
前回までに実装できている機能といえば、、、
・ゲームスタートボタン押下で初期盤面の作成
・ダブルクリックで石の配置
・白石と黒石を交互に配置
・盤面以外への石配置禁止
・既に石が置かれている所への石配置禁止
くらいでした
本日はオセロの根幹ともいえる、反転する石が存在するかどうか判定する機能を盛り込んでいきます
ゲームスタートボタンで初期配置の完成
ソースコードに反転する石という概念を追加
コード上では"RevStn"と記載しております
白石を置いたとき、反転対象となる石は黒石
黒石を置いたとき、反転対象となる石は白石といった感じです
新たに反転判定を行うファンクションを作成しました
左向きに反転判定を行うファンクションを"LeftRevCheck"
右向きに反転判定を行うファンクションを"RightRevCheck"と記載してます
引数として、両ファンクションに"ダブルクリックした行番号、列番号、置いた石の色、反転対象となる石の色"を渡しております
反転判定結果については、とりあえず"Debug.Print"でイミディエイトウィンドウへ出力するようにしています
ファンクションのコードは下記の通り
実際石を置いてみて判定結果を見てみましょう
ダブルクリックして石を置いてみます
イミディエイトウィンドウの判定結果はというと
なんとなくちゃんと判定できているような気がします
もう一つ石を置いてみます
次は黒石です
判定結果は
ちょっとわかりずらいですが、3~4行目が黒石の判定結果です
※1~2行目は白石の判定結果
判定自体は問題なく行えてそうですね
とはいっても、まだ実際反転する機能は組み込めてません
判定するだけです
また、オセロは左右の反転だけではないのでゲームとしては当然まだまだ未完成品といったところです(; ・`д・´)
次回は上下の反転判定機能と実際に裏返しちゃう機能を盛り込めればいいかなと思っております( *´艸`)