EXCEL VBA 初心者でもできる!Excelで遊べるブラックジャックゲーム(コード解説付き・ダウンロード可能)

 

EXCEL VBA 初心者でもできる!Excelで遊べるブラックジャックゲーム(コード解説付き・ダウンロード可能)

 

 

 ●はじめに

今回説明するのはExcel VBAで作成したブラックジャックゲームです。私自身初めてVBAでゲームを作成しましたので、プログラム的には無駄な作り方をしていると思いますが、作って遊んでみたらとっても楽しかったです。簡単にゲームの説明をすると、このブラックジャックは、プレイヤーとディーラーがカードを引き、手札の合計が21に近い方が勝ちとなるカードゲームです。このプログラムでは、プレイヤーとディーラーがそれぞれカードを引き、手札の合計が21を超えるとバスト(負け)となります。また、先に10勝した方が最終的な勝者となるルールが設定されています。ゲームの作り方の詳細については、順番に説明いたします。

 

 

ブラックジャックゲームのVBAプログラム(コード)の内容説明

 

 ●プログラム説明
1.【全体的なコード内容】
このVBAプログラム(コード)は、ゲームの初期化やカードの削除、プレイヤーとディーラーにカードを配る処理、プレイヤーとディーラーのターン、バスト判定、勝者の決定など、ブラックジャックゲームに必要な処理が実装されています。また、カードを引く処理や画像を挿入する処理が関数として定義されており、これらの処理がゲームの進行に合わせて呼び出されます。※本物のブラックジャックゲームと違う点があると思いますがご了承下さい。

2.【ゲームの操作方法】
ゲームはExcelのワークシート上で自動的に進行します。プレイヤーのターンでは、手札の合計が表示され、ヒット(カードを追加)するかどうかをメッセージボックスで選択できます。ヒットを選択すると、新しいカードが配られ、手札の合計が更新されます。ディーラーのターンは自動で進行し、ディーラーの手札が17以上になるまでカードが追加されます。最後に、勝敗が決定され、結果がメッセージボックスで表示されます。

3.【下記コードの処理手順】

① ゲームの初期化とカードの削除
② プレイヤーとディーラーに2枚のカードを配る
③ プレイヤーのターン
④ プレイヤーがバストした場合の処理
⑤ ディーラーのターン
⑥ ディーラーがバストした場合の処理
⑦ 勝者の決定
⑧ カードを引く処理(DrawCard関数)
⑨ 画像を挿入する処理(InsertImageBasedOnNumber関数)
⑩ 勝敗のカウント(Win_Loseサブルーチン)

4.【注意事項】

  • カードの画像ファイルは、このブック(ThisWorkbook)と同じフォルダ内の「画像」フォルダに保存されている必要があります。
  • カードの画像ファイル名は、1から13の番号でpngファイルです。
  • このコードは、Sheet1に実行されることを前提としています。

 

★【サンプルプログラム】
下記のリンク先よりサンプルプログラムをダウンロードする事ができます。
● blackjack(サンプルプログラム)

 

 

 

 

●実行前~実行後 ※スタートボタンをクリックしてゲームを開始します。手札が2枚渡されます。ヒットするか確認します。カードの数字の合計が21に近い方が勝者となります。
(画面クリックして拡大)

 

 

 

最後まで、ご覧いただきまして誠に有難うございました。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。