こういう時は、FOR 命令で繰り返しにまとめる事が出来てしまいます。
つまり、次のようになります。
FOR Y=5 TO 7
LOCATE 5,Y:?" ":LOCATE 5,Y+1:?"@":WAIT 60
NEXT
I=5 ではなく、Y=5 となっていますね。
このように、変数とは他の単語(プチコンの命令や、ラベル、自作命令など)と被らない限り、好きな名前をつける事ができます。
今回は、Y座標の事なので、単純に Y としました。
さて、これを踏まえてまた次のコードを実行してみて下さい。
FOR I=1 TO 5
PRINT I
NEXT
この命令は、PRINT I を5回繰り返す命令です。
1~5 までの5個の数字が表示されたと思います。
PRINT I は、Iという変数の中に入っている数値を表示する命令でした。
これを5回繰り返したら、1~5 までの表示がされた、という事は……
「FOR 命令を実行すると、まず最初にI に数値が代入され、そして1回毎に I が1ずつ増える」という事です。
これを使えば、「全く同じ命令を繰り返す」という場合だけでなく、「数値が1ずつ変化する以外は同じ命令」についても繰り返す事が出来るようになります。
あ、ちょっと惜しい感じですね。
IF Y==17 AND A==2 THEN
というのは、「もしYが17 で、そしてAが2だったら」という意味になります。
どこが惜しいかというと「Yが17で」というところが正解です。
とりあえずコードを書く位置なのですが……
プレイヤーが「"続きからやる"のか"最初からやる"のか」を決めるんですよね?
だとすると、プレイヤーの選択を待ってから判断しないといけません。
でも、この位置(28行目)は、「画面に選択肢を表示した直後」なので、まだプレイヤーが選択をしていません。
つまり、このコードはもっと後ろ、プレイヤーの選択が終わった後に書かないといけません。
具体的には、この画面には表示されていませんが……
えーと、34行目に WHILE TRUE とありますが、確かこのループ内でプレイヤーが選択していたはずなので、このループの後ろですね。