Hは、Tと衝突しているスプライトの番号を代入する変数と考えてます H=SPHITSP(T,0) とすると、0番目のスプライトから順に検査して、最初にTと衝突しているスプライトの番号がHに入ります で、衝突しているスプライトはまだあるかもしれないので、次は H+1 から再び探します H=SPHITSP(SP,H+1) あとは、これを衝突しているスプライトが見つからなくなるまで繰り返します。見つからなかったときは、SPHITSPは-1を返すので、IFで判別してWHILEループを抜けて、終わりです 1回目は0から探し、2回目以降は前回見つかったHの次から探すのですが、1回目だけ別の処理にするとプログラムがちょっと増えてもったいないので、最初にHに-1を入れてます。そうすると、1回目はH+1が0となるので、ちょうどいいというわけです!