初心者のためのゲームプログラミング入門

プログラミングとゲームの杜

初心者のためのプログラミング入門 & ゲームプログラムの作り方入門

Visual Basic 2019 入門

11.ハイ&ローゲームを作ろう その4

 

今回は [ ハイ&ローゲームを作ろう その3 ] の続きです。

これまで IDE の使い方をメインとした内容でした。ここからはプログラミング言語の仕組みについても説明します。

 

 

変数とは

プログラムを組むとき数値や文字の情報を扱います。
その時には、変数(へんすう)を使うことになります。

例えばジュースの自動販売機ならば、変数として「 投入金額 」と「 おつり 」を
用意します。そして
「 投入金額 」ー「 ジュース代 」という計算式で「 おつり 」を算出します。

 

変数が使われるとき

 

200 円、または、1000 円投入されることもあると思います。
投入された金額とジュース代により、おつりも変わってきます。
変化する値を記録するために変数を使うのです。

 

 

変数の特徴は次のものがあります。
ここでは簡単に説明していますが、実はもう少し複雑です。
プログラミング言語によっても多少違います。
くわしくは後で少しずつ説明していきます。

 

変数とは何か

 

 

変数を使ってみよう

それでは実際に使ってみましょう。
まず、変数を使うには宣言をします。
例えば「これから kazu という変数を使います」という感じです。
ちなみに kazu は私が勝手に付けた名前です。

Dim kazu As Long
という宣言文を画像の位置に書き込みます。

 

変数を宣言する

 

 

テストをするため、Button1_Click の中を次のように変更します。

変数に加算する

 

 

Button1_Click の中を変更しています。( 4 行目と 5 行目)
Label1.Text = "Hello Basic" を削除して次の2行を追加しました。

kazu = kazu + 1
Label1.Text = kazu

これで Button1 が押される度に次の処理が行われます。
・変数 kazu の内容に1ずつ足す
・ラベル Label1 に変数 kazu の内容を表示する

 

 

実行してみます。
Button1 をクリックすると Label1 の表示が1になります。
続けてクリックすると2,3,4…とカウントアップしていきます。

加算した結果をラベルに表示

 

 

変数の宣言について

変数の宣言には「 」を指定する必要があります。
型とは、整数や文字列などのタイプのことです。
次のようになっています。

Dim 変数名 As
Dim kazu As Long

 

「 型 」は色々あります。よく使うものを表にしました。
他にもあるので、プログラミングに慣れてきたらネットで調べましょう。

 

型 (タイプ) 内 容 備 考
Long 整数(符号あり) -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
Decimal 10 進数データ型 小数点が利用可能
String 文字列 0 個 ~ 約 20 億個の Unicode 文字
Boolean 論理型 True または False

 

小数点を使わないのであれば Long
小数点を使うのであれば Decimal
文字列ならば String
選択肢が二択ならば Boolean
を使うのがいいでしょう。

 

 

変数のスコープについて

スコープとは簡単に言うと有効範囲のことです。
これについての説明は長くなるので、いま覚えて欲しいことだけ説明します。

変数の宣言をする場所に気を付けてください
今回のようにサブルーチンの外で宣言すると、すべてのサブルーチンで使えるようになります。

 

変数のスコープについて

 

 

試しにサブルーチン Button2_Click でも使ってみましょう。
今度は変数 kazu1ずつ引いてみます。

別のサブルーチンでも変数を使ってみる

 

 

実行してみましょう。
Button1 を押すと1足されて、Button2 を押すと1引かれます。
1つの変数を2箇所で使っているのが分かりますね。

減算した結果をラベルに表示

 

ちなみに、サブルーチンの中で宣言した変数は、そのサブルーチンの中だけでしか使えません。
そこで使うだけなら、必ずサブルーチン内で宣言するようにしましょう。

 

 

代入演算子とは

これまで使っている は代入演算子と言われています。

kazu = kazu + 1
Label1.Text = kazu

これです。
右側の値を、左側の要素に入れるわけです。
右側は計算式(例:kazu + 1)でも OK です。

 

注意する点は、何でも代入できる訳ではないことです。
左右のタイプが違うと代入できないこともあります
例えば整数を扱う変数に、文字列は代入できないのです。

Dim kazu As Long
kazu = "Hello Basic" . . . . . . (エラーになる)

 

次のパターンは少し特殊です。

Dim moji As String
moji = 200 + 500

これはエラーにならず moji の中には "700" という文字列が代入されます。
もし "200 + 500" という文字列を代入したいのなら次のように書きます。

moji = "200 + 500"

というように書きます。
数値を文字列として扱いたいときには " (ダブルコーテーション) で囲むことを覚えておいてください。