GO-AHEADの日記

GO-AHEADで出版した書籍の紹介をします

Re5:50歳から始めるラズベリーパイ-1

Re5:50歳から始めるラズベリーパイ

簡単なゲームで学ぶVBAプログラミング入門

amazon kindleを出版しました。


 VBAを勉強するのに、分岐や繰り返しとかは退屈ですね。ゲームを作って勉強すると、少しは勉強という苦痛から解放されるかもしれません。ということで、ラズベリーパイのVBAで、簡単なゲームを作って、VBAの勉強をしてみましょう。

 VBAは遅いので、アクションゲームには向いていません。

VBAが動作することを、前提にゲームの説明をしていきます。

 

 3.1 数あてゲームの作成
 数あてゲームを作成してみましょう。
ゲームの流れは、
(0)初期設定、A1、A2、B1、B2を削除
(1)乱数で1~100までの整数xを決定する。
(2)A1に値を入力、ボタンを押して、
 xと同じだったら正解、
  A2に数値表示、B2に「正解」表示
 xより小さかったら、B1に「小さい」表示
 xより大きかったら、B1に「大きい」表示
ボタンの名前は「判定」とします。

 

f:id:GO-AHEAD:20200324150848p:plain



また、Botton1__Click()にボタンの実行を割り当てます。

f:id:GO-AHEAD:20200324150902p:plain

f:id:GO-AHEAD:20200324150913p:plain




x=42の場合
50を入力して、ボタンをクリックすると、「値が大きい」表示

f:id:GO-AHEAD:20200324150925p:plain

25を入力して、ボタンをクリックすると、「値が小さい」表示

f:id:GO-AHEAD:20200324150939p:plain

42を入力して、ボタンをクリックすると、「正解です」表示

f:id:GO-AHEAD:20200324150949p:plain

 

Option VBAsupport 1
'xをグローバル変数として定義
Dim x As Integer

Sub Main
     Range("A1:B2").Clear 'A1からB2の範囲をクリア
     Cells(1, 2).Value = "A1に数値を入力してください"
     x = Int(Rnd * 100 + 1) '整数の乱数発生

End Sub

 

Sub Botton1__Click()

     If (x < Cells(1, 1).Value) Then
       Cells(2, 2).Value = "値が大きい"

    ElseIf (x > Cells(1, 1).Value) Then
       Cells(2, 2).Value = "値が小さい"

    ElseIf (x = Cells(1, 1).Value) Then
       Cells(2, 2).Value = "正解です"
       Cells(2, 1).Value = x
    End If


End Sub