配列を使わなくてもできますが個別に変数名を指定する必要が
あるため処理内容によってはもの凄くプログラムが長くなります。
配列変数を使うと個別に変数名を指定しなくても変数名に添え字を
付けることで指定できるので短くまとめることができます。
配列変数を使わない場合
SUM=A0+A1+A2+A3+A4+A5+A6+A7+A8+A9+A10+A11+A12+A13+A14+A15+A16+A17+A18+A19+A20+A21+A22+A23+A24+A25+A26+A27+A28+A29~中略~+A9999
配列変数を使った場合
FOR I=0 TO 9999
SUM=SUM+A[I]
NEXT
RPGを作るとします。仲間が4人いて、それぞれHPの値を持っています。
敵が攻撃してきて、N番目の仲間が10ポイントのダメージを受けました。
という場合。
配列無しだと
IF N==0 THEN HP0=HP0-10 '0番目がダメージ
IF N==1 THEN HP1=HP1-10 '1番目がダメージ
IF N==2 THEN HP2=HP2-10 '2番目がダメージ
IF N==3 THEN HP3=HP3-10 '3番目がダメージ
と頭の痛いプログラムになってしまいます。配列を使うと
HP[N]=HP[N]-10 の一行で済みます。
あとこんなのも
ソラで書いているが、たぶん動くはず
acls
dim mx[16],my[16]
spset 0,0:x=100:y=200
my[#up or #left]=-1:my[#up]=-1:my[#up or #right]=-1
my[#down or #left]=1:my[#down]=1:my[#down or #right]=1
mx[#left or #up]=-1:mx[#left]=-1:mx[#left or down]=-1
mx[#right or #up]=1:mx[#right]=1:mx[#right or #down]=1
'定数でもいいのだが計算がめんどくさい
while 1
b=button() and 15
x=x+mx[b]:y=y+my[b]
spoft 0,x,y
wend