HSPルーム

1-4.配列変数-1

HSP3.0

配列変数とは

配列変数というのは、変数に番号をつけたもので、多くの変数を上手に扱うことができます。
いわば、ロッカーのようなものです。
1,2,3というような番号がつけられていて、それぞれを要素と言います。

恐怖の変数100

100こ変数を作って、すべてに5を代入し、それらの内容をすべて表示させてください。」という問題があったとします。 「それらの内容をすべて表示させてください。」これを実行すると、すべて5が表示されるはずです。
配列変数を知らなければ、次のようにするしかありません。

変数100問題
	a1 = 5
	a2 = 5
	a3 = 5
	//以下略...

	mes a1
	mes a2
	mes a3
	//以下略...

	stop

考えるだけでこわいですね
配列変数を使うと、これを簡単にすることができます。

配列変数をつかう

とにかく、配列変数を作るには、dim命令を使います。

dim p1,p2  //配列変数作成
p1 = 配列変数名 : p2 = 最大要素数

配列変数にアクセスする場合、

 配列変数名(要素番号)
または、
 配列変数名.要素番号

というようにします。 mes 配列変数名(要素番号) とすると、配列変数の内容が表示できます。

配列変数
	dim a,10 //配列変数a宣言。(最大要素数は10)
	a(0) = 45 //a(0)に45を代入
	a(1) = 65 //a(1)に65を代入
	mes a(0)
	mes a(1)
	stop

dim a,10で、10要素分を確保しているので、
a(1)〜a(10)まで使えるかというと、実は違って、a(0)〜a(9)まで使えることになります。
要素番号は0から始まるのです。

最大要素数は、「使う要素数+1」程度確保しておくのが普通らしいです。

恐怖の変数100攻略

repeatcntを使うと、配列変数を効率よく使うことができます。

変数100問題-2
	dim a,101 //配列変数a宣言。(最大要素数は101)
	repeat 100
	a(cnt) = 5
	loop
	repeat 100
	mes a(cnt)
	loop
	stop

mesするとウィンドウからはみだしてしまいますが・・・
これで100こ変数を作ることができました。

配列変数は、ゲームを作るときにはかかすことのできないものなのです。