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

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

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

文系でもわかるBASIC入門

12.よく使うBASICの命令

 

これまでの命令は基本的なものばかりです。
今回はBASIC言語の特徴ともいえる命令を解説していきます。

 

 

IF … THEN ~ ELSE ~

以前、IF命令の書き方を説明しました。
さらに ELSE を使った書き方を説明します。

IF 条件 THEN 命令文(または行番号)
IF 条件 THEN 命令文(または行番号) ELSE 命令文(または行番号)

条件が成立しているとき、THEN 以降の命令が実行されます。
条件が成立していないとき、ELSE 以降の命令が実行されます。

 

ELSEを使った例をみてください。

if then else の例

行番号30 では、変数AGEが20以上なら「成人」、20未満なら「未成年」を
文字列変数SW$に代入します。

行番号40 では、変数SEXが1なら行番号100へ、1以外なら行番号200へジャンプします。

 

 

FOR … TO … STEP ~ NEXT

繰り返し処理をしたいときに使う命令です。
FORからNEXTまでの間を繰り返します。

コマンドモードでの例です。

for to next の例

FOR I=0 TO 9

変数Iを0から9まで変化させながら、NEXT までの間を繰り返し実行します。
上の例では NEXT までの間に
PRINT “hello”
があるためhelloを10回繰り返し表示しています。

 

 

プログラムモードでの例です。

for to next の例

この例ではFOR命令を入れ子(FOR~NEXTの中にFOR~NEXTを入れる)にしています。

for の入れ子の例

このような使い方をする機会は多いです。
色々なパターンでテストしてみて、その動き方をしっかり把握しましょう。

 

 

STEPを使って、変数の増減間隔を指定できます。

for の入れ子の例

STEP -1なら、1ずつ減らしながら繰り返します。

STEP 5なら、5ずつ増やしながら繰り返します。

 

 

GOSUB

サブルーチンを呼び出すことができます。
サブルーチンとはメインルーチンから独立したプログラムでRETURNで終わっているものを言います。

GOSUBは指定した行番号から始まるサブルーチンを呼び出すことができます。
GOTOと同様にラベル名による呼び出しも可能です。

サブルーチンへジャンプした後、RETURNのある行まで実行してもとの位置へ戻ります。

gosub の例

例では行番号100 から 130 までがサブルーチンになっています
RETURNで終わっていることに注目してください。

gosub の例

同じような処理を繰り返し行うときなど、サブルーチンにするといいですね。

 

 

ON … GOTO と ON … GOSUB

変数の値から指定されたいずれかの行に分岐します。

ON … GOTOの例です。

on goto の例

行番号50 を見てください。

ON NO GOTO 100,200,300

変数NOが1の場合は行番号100へ。
2の場合は200へ、3の場合は300へジャンプします。

ON … GOTO の間には変数や式を記述できます。
その値(数値)により分岐先が決まります。
例は3分岐ですが、もっと多く分岐させることもできます。

 

実行してみましょう。

on goto の例

ON … GOTO の間の値が0だったり、分岐数をオーバーしている場合
ON GOTO は実行されず次の行へ進みます
上の例では、空打ちしたとき変数NOには0が入り分岐しません。

ON … GOSUB では、分岐先にサブルーチンを指定します。