この記事は 『Excelでリバーシを作ろう!! マクロ、VBAを1から学ぶ』 のサンプルです。
Excelのマクロ(VBA)で「三目並べ」「マインスイーパー」「リバーシ」を作る解説本です!
プログラミングが全くわからない人でも大丈夫! 丁寧な解説と図でしっかり理解しながら楽しくプログラミングを学ぶ事ができます!
値段:300円(Kindle Unlimited対象)
【kindle】
【booth(pdf】
前:準備
https://qiita.com/sano192/items/9a47e6d73373d01e31fb
次:【三目並べ:2. ゲームスタートの処理】
https://qiita.com/sano192/items/af1b85dc68307320be7c
三目並べは○×ゲームと同じルールで、3×3マスのなかに黒、白の石を置いて縦、横、斜めに3つ並べた方の勝ちです。
このゲームをExcel上でできるようにコードを書いていきましょう。
コードを書き始める前にまずどんな手順にすればよいか? どんな画面にするか? というプログラムの「仕様」を考えます。これを先に考えておかないと途中で上手くいかないことに気づいてコードを書き直したりする手間が発生します。
まずゲームのスタートから終わりまでの手順を考えます。
上記のような図を「フローチャート」と言います。
このフローチャートはものすごく簡単に描いたもので、標準的なフローチャートの書き方ではないです。
が、きちんと描くと複雑になりますし、どうせこのゲームはあなた一人が作って遊ぶものなのでそこまで厳密性は必要ありません。
次に画面を作ります。
以下のような条件を満たす画面を作りたいです。
・「スタートボタン」を押すことでゲームがスタートする
・3×3マスの中をクリックすることで石が置ける
・今黒番か、白番か表示されている
・ゲーム終了時に「勝ち」「負け」「引き分け」が表示される。
まず「3×3マス」の部分と、「黒番か、白番か表示される場所」、「勝敗が表示される場所」を作りましょう。
下のような画面を作ります。
セル(B2)~セル(D4)を石を置く場所、セル(F2)~セル(H2)を結合して手番の表示場所かつ勝敗が表示される場所にしています。
それぞれのセル番地は必ず上記の位置にしてください。ここがずれていると今後書いていくプログラムがうまく動作しません
フォントサイズ、行の高さ、列の幅はなんでもいいですが、参考までに上記の図では以下のように設定しています。
行の高さ=52
列の幅=8
フォントサイズ=36
では次に「スタートボタン」を作りましょう。
「開発」のタブから「挿入」→左上のボタンマークをクリックします。
適当なところでドラッグして離すと、ボタンを好きな大きさで配置することが出来ます。
図のように「マクロの登録」という画面が出てくると思いますがまだマクロを作っていないのでそのまま「OK」をクリックしましょう。
こんな感じでボタンが配置されたと思います。
ボタンを右クリックし、「テキストの編集」からボタンの名前、文字の大きさ、フォントを変えられます。
名前はなんでもいいですが、とりあえず「Start」にしておきましょう。
「Ctrl」を押しながらボタンをクリックすると選択状態になり、ボタンの大きさを変えられます。
これで画面の構成は完了です。
前:準備
https://qiita.com/sano192/items/9a47e6d73373d01e31fb
次:【三目並べ:2. ゲームスタートの処理】
https://qiita.com/sano192/items/af1b85dc68307320be7c