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