ノーマルの544stepsに納めるよう、ごりごり容量を削っていきます。まずは手っ取り早いものを。

・マルチステートメント化(2steps減)

・行番号桁数落とし

・メッセージの文字数減(GameOver→Caught, 2文字減)

さあ、これでサイズはどれだけ縮んだかな…599steps!  あと55steps削減する必要ありますが、これはデータ構造に手を入れるしかありませんね。どうしたものか。

 

[P0]
1 VAC
2 $="\BX\BX\BX\BX\BX\BX#______\CL  \CL \TR \DT  0123456":G=4.9:W=6:X=8:H=-1:PRINT "  ALCATRAZ"
4 M$=MID(24+T,1)+MID(7-INT W,6):N$="=\CII"+MID(14+2*INT G,2):PRINT CSR0;M$+N$;
6 IF F=1;PRINT CSR X-1;"q\PI";
7 MODE S+4:IF X=1 THEN #2
8 K$=KEY:IF K$<>"";GOSUB #1
9 G=G+H*RAN#/2:IF H>0;IF S+1>RAN#*20;H=-H
10 IF G>=5;G=4.9:H=-H
11 IF G<.7;G=.7:H=-H:S=S+F:IF S>2;T=7
12 GOSUB #3:GOTO 4

[P1]
1 IF K$<>"4" THEN 5
2 IF F=0;F=1:RETURN
3 IF X-W<2;W=W-RAN#/5:RETURN
4 X=X-1:RETURN
5 IF K$<>"6";RETURN
6 IF X<8;X=X+1:RETURN
7 F=0:RETURN

[P2]
1 $="\BX\BX\BX\BX\BX\BX\BX\BX\BX + \BX\BX\BX\BX\BX\BX\BX\BX\BXa@"+MID(24):X=9:V=13
2 PRINT CSR0;MID(24+T,1);MID(V,9);"\BX\BX";CSR X;MID(F+22,1);
3 IF X=1;PRINT:PRINT "ESCAPED!":END
4 IF X+V=F*12;T=7:GOTO #3
5 F=1:K$=KEY:IF K$<>"";GOSUB 8
6 V=V-1:IF V=0;V=13
7 GOSUB #3:GOTO 2
8 IF K$="4";X=X-1
9 IF K$="2";F=0
10 RETURN

[P3]
1 IF T>6;PRINT:PRINT "Caught":END
2 T=T+.02:RETURN
 

なお、容量削減の小ネタはここに紹介してます。