皆さんありがとうございます、今はまだ忘れておきます・・・(笑)
スパゲッティプログラムにならないようにCALLを使うといいと言われていたのですが他に方法はありますでしょうか?
IF A=1 THEN GOTO @A
IF A=2 THEN GOTO @B
・・・
っていうふうに繰り返しているのがみづらくなる原因らしいのですが…
IF A==1 THEN GOTO @A
IF A==2 THEN GOTO @B
IF A==3 THEN GOTO @C
みたいなプログラムであればON~GOTOを使うのがベターだと私は思います。
ON A-1 GOTO @A,@B,@C
ONとGOTOの間の式の値が0、1、2、3、・・・と変化する場合その順番に応じたラベルにジャンプできます。(式の値が3ならば4番目に記述したラベル)
※ミスがあったので書き直しました
call が便利に使えるのは例えばRPGで敵の動作を書く時とか
def slime_attack id
というような感じで、スライムの攻撃ルーチンを書いておく (id は敵の出席番号)
戦闘ルーチンでは
enemy$[0] = "dragon"
enemy$[1] = "ghost"
enemy$[2] = "slime"
としておいて
for i = 0 to 2
call enemy$[i]+"_attack",i
next
などとすれば、敵の種類ごとに独立した命令を書けるのでラッキーというわけです。