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

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

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

Visual Basic 2017 入門

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

 

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

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

 

 

変数とは

プログラムを組むとき数値や文字の情報を扱います。
ほとんどの場合、変数と言われるものを使うことになります。

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

 

vb 変数とは何か

 

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

 

 

変数の特徴は次のものがあります。
ここでは簡単に説明していますが、実はもう少し複雑です。
くわしくは後で少しずつ説明していきます。

 

vb 変数のとは何か

 

 

変数を使ってみよう

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

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

 

vb 変数の宣言

 

 

テストをするため、次のプログラムも追加してください。

 

vb 変数に加算する

 

 

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

kazu = kazu + 1
Label1.Text = kazu

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

 

 

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

 

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

 

 

変数の宣言について

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

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 でも使ってみましょう。
今度は変数 kazu-1してみます。

 

vb 変数のスコープについて

 

 

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

 

vb 変数の使い方

 

 

代入演算子とは

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

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"

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