0 CLR 10 REM COPYRIGHT 1991 - COMPUTE PUBLICATIONS INTL LTD - ALL RIGHTS RESERVED 100 DIMF(2000),G(2000) 110 GOSUB 880 120 GOSUB1000 130 S = 1475:O=1274:B=1391:C=1397:M=0:W=0:F=0:G=0:U=0 140 PRINT"[147][144]":POKE 53280,12:POKE53281,12 150 PRINT" [157] [157] [157][157][157][157][157] [145][157] [145][157] " 160 PRINT" [146][215][215][215] [146][145][157][157][157][157][157][157][215][215][215]" 170 PRINT" [157] [157] [157] [146][215][215][146][215] [145][157] [145][157] [145][157] [157][157][157][157][157][157][157][157][146]"; 180 PRINT"[215][215][215][215][215][215][215][157][157][157][157][157][157][157][215][215][215] [215][215][215]" 190 PRINT"[215][215][215][215][215][215][215]" 200 PRINT" [146][215][215][215] [146]" 210 PRINT" " 220 IFH=-1THEN 1190 230 V=2 240 IFV=3THEN V=1 250 IFI=0THENV=2 260 JO=USR(V):GETA$ 270 IF(JOAND15)=1THENW=-40:GOTO480 280 IF(JOAND15)=4THENW=-1:GOTO480 290 IF(JOAND15)=8THENW=1:GOTO480 300 IF(JOAND15)=2THENW=40:GOTO480 310 IF(JOAND16)=0THEN GOTO340 320 IF A$ ="@" THEN 610 330 GOTO 240 340 JO=USR(V):IF(JOAND15)=0THEN GOTO340 350 IF(JOAND15)=1THENW=-40:GOTO400 360 IF(JOAND15)=4THENW=-1:GOTO400 370 IF(JOAND15)=8THENW=1:GOTO400 380 IF(JOAND15)=2THENW=40:GOTO400 390 GOTO 240 400 Y=S+W:R=0:IF PEEK(S)=215THEN R=R+1 410 IFPEEK(Y)=87THENR=R+1 420 IFPEEK(S+W+W)=32THENR=R+1 430 IFR=3 THEN 450 440 GOTO 530 450 M=M+1:POKES,32:POKES+W,32:GOSUB560:POKE S+W+W,215:S=S+W+W:V=V+1:U=U+1 460 F(U)=1:G(U)=W 470 GOTO 240 480 J=0:Z=PEEK(S):Y=S+W :IFPEEK(Y)=87THENQ=87:J=J+1 490 IFPEEK(Y)=32THENQ=32:J=J+1 500 IF J=1 THEN 520 510 GOSUB 530 520 POKES,Z-128:POKES+W,Q+128:S=S+W:U=U+1:F(U)=0:G(U)=W:GOTO 240 530 PRINT"ILLEGAL MOVE":GOSUB 560 540 PRINT" " 550 GOTO 240 560 REM 570 POKE54296,15:POKE54277,64:POKE54273,162:POKE54272,37 580 POKE54276,17:FORT=1TO200:NEXT 590 POKE54276,16:FORT=1TO50:NEXT 600 RETURN 610 J=32-M:F(U+1)=-1:G(U+1)=0 620 PRINT"[147]";J;"PEGS REMAINING" 630 IFJ>10THEN PRINT"POOR!":W=-1:GOTO700 640 IFJ>7THEN PRINT"SATISFACTORY PLAY!":W=-1:GOTO700 650 IFJ>5THEN PRINT"GOOD!":W=4:GOTO700 660 IFJ>3THEN PRINT"GREAT!":W=5:GOTO700 670 IFJ>2THEN PRINT"WELL PLAYED!":W=11:GOTO700 680 IFJ>1THEN PRINT"MISSED!":W=6:GOTO700 690 IFJ>0THEN PRINT"DID IT!":W=6:GOTO700 700 PRINT"WANT TO SAVE? (Y/N)" 710 GETK$:IF K$=""THEN710 720 IF K$<>"N"ANDK$<>"Y"THEN 710 730 IFK$="N" THEN 800 740 INPUT"FILENAME";N$:INPUT"YOUR NAME";M$ 750 OPEN15,8,15:OPEN2,8,2,"@0:"+N$+",S,W" 760 PRINT#2,M$:FORV=1TOU+1 770 PRINT#2,F(V) 780 PRINT#2,G(V):NEXT V 790 CLOSE2:CLOSE15 800 PRINT"WANT TO PLAY? (Y/N)" 810 IFW<0THENGOTO840 820 QZ=4*40:FORK=QZ+55336TOQZ+55336+W:POKEK,V:V=V+1:IFV>255THENV=0 830 NEXT K 840 GET M$:IF M$="" THEN 810 850 IF M$="N"THENPRINT"[147]":END 860 IF M$="Y" THENGOTO 120 870 GOTO 840 880 JJ=49152:JH=INT(JJ/256):JL=JJ-JH*256:POKE785,JL:POKE786,JH 890 FORK=JJTOJJ+67:READ Y:POKEK,Y:NEXT 900 DATA 120,70,97,176,21,169,127,141 910 DATA 0,220,173,1,220,201,255,240 920 DATA 4,169,31,208,13,173,0,220 930 DATA 16,8,169,255,141,0,220,173 940 DATA 1,220,41,31,73,15,208,4 950 DATA 133,97,240,23,133,98,169,136 960 DATA 133,97,169,0,133,99,133,100 970 DATA 133,101,133,102,198,97,6,98 980 DATA 16,250,88,96 990 RETURN 1000 PRINT"[147]PLAY, WATCH A REPLAY (P/R)"CHR$(142) 1010 GETF$:IFF$=""THEN1010 1020 IFF$="P" THEN 1050 1030 IFF$="R"THEN 1120 1040 GOTO 1010 1050 PRINT"[147]ONE OR TWO PLAYER GAME? (1/2)" 1060 GET I$::IFI$=""THEN1060 1070 IFI$="1"THEN I=0:GOTO1100 1080 IFI$="2" THENI=1:GOTO 990 1090 GOTO 1060 1100 H=0:PRINT"JOYSTICK IN PORT 2" 1110 PRINT"PRESS "CHR$(34)"@"CHR$(34)" TO END":FOR E=1 TO 900:NEXT:RETURN 1120 U=0:N=0:INPUT"FILENAME";N$ 1130 OPEN15,8,15:OPEN2,8,2,"0:"+N$+",S,R":INPUT#2,M$ 1140 GOTO 1330 1150 INPUT#2,F(U),G(U) 1160 IFF(U)=-1 THEN U=U-1:GOTO1180 1170 U=U+1:GOTO 1150 1180 H=-1:PRINT"[147]":GOTO150 1190 S=1475:TI%=200 1200 FOR V=0TOU 1210 E=S+G(V):GETA$ 1220 IF F(V)=0THEN POKES,PEEK(S)-128:POKE E,PEEK(E) +128:S=S+G(V) 1230 IF F(V)=1 THENPOKES,32:POKEE,32:POKEE+G(V),215 :S=S+G(V)+G(V):GOSUB560 1240 IFA$="F"THENTI%=TI%-50 1250 IFA$="L"THENTI%=TI%+50 1260 IF TI%>1000THENTI%=1000 1270 IF TI%<0THENTI%=0 1280 FORA=1TOTI%:NEXT:NEXTV:PRINT"BY:";M$ 1290 PRINT"PRESS SPACE BAR TO CONTINUE" 1300 GETA$:IFA$<>" "THEN 1300 1310 CLOSE2:CLOSE15 1320 RESTORE:GOTO 110 1330 INPUT#15,EN,EM$,ET,ES 1340 IF EN>0THENPRINTEM$:GOTO 1360 1350 GOTO 1150 1360 CLOSE15:CLOSE2:GOTO 1120