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

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

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

VisualBasic 2015 入門

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

 

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

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

 

 

変数とは

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

例えばジュースの自動販売機、投入したお金の情報を変数に持ち
計算に使います。

 

vb 変数とは何か

 

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

 

変数の特徴は次のような感じです。
ここでは簡単に説明していますが、実はもう少し複雑です。
なので今後少しずつ説明していきます。

 

vb 変数のとは何か

 

 

変数を使ってみよう

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

 

vb 変数の宣言

 

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

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

 

vb 変数に加算する

 

Button1_Click の中を変更しています。
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 をクリックするとプラスに、Button2 をクリックするとマイナスにカウントされます。

 

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"

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