Rez Finite PB+(543steps)
Rez Finite PB+のサイズを圧縮して、ゲーム内容をほとんど変えずにノーマルPB-100に収まる543stepsに収めました。
インラインで展開していた部分をサブルーチン化するなどして、わずかな速度低下と引き換えにサイズ縮小しています。
PB-100実機形式
PB-SIM形式
[P0]
1 VAC:PRINT "RezFinitePB+":C=1
2 FOR K=0 TO 2:PRINT CSR8;"Ar";K+1;
3 FOR L=1 TO 23 STEP 2:GOSUB 18+K:F=1
4 FOR I=1 TO 3:F=F+F:H=0:GOSUB 21:H=1:GOSUB 21:NEXT I
5 $=" \DT\CIO\DI":FOR J=1 TO 10-K:E$=KEY:IF E$="" THEN 11
6 P(C)=-P(C):IF E$<>"3" THEN 9
7 C=C+1:IF C>6;C=6
8 GOTO 14
9 C=C-1:IF C<1;C=1
10 GOTO 14
11 A=.1:B=0:FOR I=1 TO 6
12 IF P(I)<0;PRINT CSR I;"*";:B=B-P(I):A=A+1:P(I)=0
13 NEXT I:D=D+B^A
14 PRINT CSR 1;:FOR I=1 TO 6:F=P(I):IF F<0;F=4
15 PRINT MID(F+1,1);:P(I)=P(I)*1.1:IF ABS P(I)>=4;P(I)=0
16 NEXT I:PRINT CSR C-1;"<";CSR C+1;">";
17 NEXT J:NEXT L:NEXT K:PRINT "Score";INT D:END
18 $="400120021004410360063000":RETURN
19 $="422105502214436170077000":RETURN
20 $="322526522555541537766336":RETURN
21 G$=MID(H+L,1):IF FRAC(VAL(G$)/F>=.5;P(I+H*3)=1
22 RETURN