一つのやり方のヒントの断片だけ。別にこの方法が唯一でもないです。
DIM EF[8]
IF EX[I] == -100 THEN
〜
EF[I] = 0(またはFALSE)
ENDIF
IF EX[I] < X && !EF[I] THEN
SCORE=SCORE+1
EF[I] = 1(またはTRUE)
ENDIF
とりあえずIF分ですが、僕が見た感じでは、
IF X < EX[I]+ES[I] && X >= EX[I] THEN
のような気がする。つまりEX[I] + ES[I]は以前の座標になるはずなので、前の座標が自分より前で、今の座標が自分より後ろなら飛び越えたって感じね。
IF時のかつのアンドはANDより&&の方が理解せずに利用した際の誤動作が少ないと思うので&&の方がオススメです。