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

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

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

文系でもわかるBASIC入門

12.よく使うBASICの命令

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

 

1. IF … THEN ~ ELSE ~

以前、IF命令の条件が成立している時に実行する書き方を説明しましたが
成立している時いない時、これらを同時に指示する方法を説明します。

IF命令は次のような書き方ができます。

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

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

if then else の使い方

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

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

 

2. FOR … TO … STEP ~ NEXT

FOR命令からNEXTまでの区間を繰り返し実行します。

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

for next の使い方

FOR I=0 TO 9

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

 

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

for next 入れ子の使い方

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

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

 

FOR命令では、変数を変化させる間隔を指定することも出来ます。

for step 変数の間隔を指定する

FOR I=5 TO 0 STEP -1

変数I5から01ずつ減らしながら繰り返し実行します。
このようにSTEP増減の間隔を指定することが可能です。

 

3. GOSUB

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

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

gosub サブルーチンを呼び出す方法

例では、行番号100 から 130 までがサブルーチンになっています

繰り返し行うような処理は、1つのサブルーチンとしてプログラムすることで
プログラミング効率をアップさせることができます。

 

4. ON … GOTO と ON … GOSUB

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

on goto 分岐させる便利な命令

行番号40 を見て下さい。

ON NO GOTO 100,200,300

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

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

basicの分岐命令

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

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