10 KEY 1,"WIDTH40"+CHR$(13):KEY 2,"COLOR7"+CHR$(13) 20 G=1:COLOR7,0,1:WIDTH80,25:CONSOLE0,25,0,1:PRINTCHR$(12):GOSUB2000:GOSUB7010 100 REM******** MAIN ******** 110 PO(0)=2:PO(2)=2:KK=0:P=0:PB=0:SE=0:F=1 120 FORI=0TO7:FORJ=0TO7:A(I,J)=0:NEXTJ,I 130 CL=4:COLOR4,,1:PRINTCHR$(12) 140 FORI=0TO8:LINE(I*11+10,10)-(I*11+10,98),PSET:IFI=8THENNEXTELSEPX=12+11*I:PY=1:CH$="4"+CHR$(I+49-1):GOSUB5000:NEXT 150 FORI=0TO8:LINE(10,I*11+10)-(98,I*11+10),PSET:PY=12+11*I:PX=1:CH$="0"+CHR$(I+49):GOSUB5000:NEXT 160 A(3,3)=-1:PX=3:PY=3:K=-1:GOSUB1000:A(4,4)=-1:PX=4:PY=4:GOSUB1000 170 A(3,4)=1:PX=3:PY=4:K=1:GOSUB1000:A(4,3)=1:PX=4:PY=3:GOSUB1000 180 CL=6:PX=108:PY=56:CH$="2600272829":GOSUB5000:GOSUB5100 190 CL=3:PX=108:PY=78:CH$="26141313":GOSUB5000:PS=PB:PT=P:PX=108:PY=89:GOSUB5120 200 REM******** YOU ******** 210 IFPO(0)+PO(2)=64ORPO(0)*PO(2)=0THEN910ELSEGOSUB6000:CL=5:PX=108:PY=12:CH$="23002512":GOSUB5000:PX=116:PY=23:CH$="29251228":F=0:GOSUB5000:F=1 220 GOSUB6020:PX=116:PY=34:CH$="16":GOSUB5000 230 IN$=INKEY$:IFIN$="s"THEN900ELSEIFIN$="p"THENGOSUB860:GOTO310ELSEIFIN$=""THEN230ELSEX=ASC(IN$)-97:IFX<0ORX>7THEN230 240 IN$=INKEY$:IFIN$=CHR$(8)THENGOTO220ELSEY=VAL(IN$)-1:IFY<0ORY>7THEN240 250 IFA(X,Y)<>0THEN270 260 GOTO 280 270 GOSUB4030:GOTO220 280 KX=X:KY=Y:KK=0:K=1:GOSUB410 290 IFKK=0THEN270 300 REM******** COMP ******** 310 IFPO(0)+PO(2)=64ORPO(0)*PO(0)=0THEN910ELSEGOSUB6010:CL=2:PX=108:PY=12:CH$="1123":GOSUB5000:PX=116:PY=23:CH$="29251228":F=0:GOSUB5000:F=1:GOSUB6020 320 IFSE=0THENRESTORE640ELSERESTORE610 330 READC,D:IFC=9THENGOSUB810:GOTO210 340 IFA(C,D)<>0THEN330 350 KX=C:KY=D 360 KK=0:K=-1:GOSUB410 370 IFKK=0THEN330 380 GOTO210 400 REM******** CAN PUT?? ******** 410 FORAX=-1TO1:FORAY=-1TO1 420 IFAX=0ANDAY=0THEN530 430 N=2 440 A=KX+AX*N:B=KY+AY*N 450 IFA<0ORA>7THEN530 460 IFB<0ORB>7THEN530 470 IFA(KX+AX*(N-1),KY+AY*(N-1))<>-KTHEN530 480 IFA(A,B)=KTHEN500 490 N=N+1:GOTO440 500 IFKK=0THENPX=KX:PY=KY:GOSUB1030:PO(K+1)=PO(K+1)+1:A(KX,KY)=K 510 KK=1:FORI=1TO(N-1):PO(K+1)=PO(K+1)+1:PO(-K+1)=PO(-K+1)-1:PX=KX+AX*I:PY=KY+AY*I:GOSUB1000 520 A(KX+AX*I,KY+AY*I)=K:NEXTI 530 NEXTAY,AX:IFKK=0THENRETURNELSEPX=KX:PY=KY:F=0:GOSUB1000:F=1:GOSUB5100:IFKX<1ORKX>6ORKY<1ORKY>6THENSE=1 540 RETURN 600 REM******** DATA ******** 610 DATA0,7,7,0,0,0,7,7,2,0,5,0,7,2 620 DATA7,5,5,7,2,7,0,5,0,2,3,0,4,0 630 DATA7,3,7,4,4,7,3,7,0,4,0,3 640 DATA2,2,5,2,5,5,2,5,3,2,4,2 650 DATA5,3,5,4,4,5,3,5,2,4,2,3 660 DATA2,1,3,1,4,1,5,1,2,6,3,6 670 DATA4,6,5,6,1,2,1,3,1,4,1,5 680 DATA6,2,6,3,6,4,6,5,6,0,7,1 690 DATA7,6,6,7,1,7,0,6,0,1,1,0 700 DATA6,1,6,6,1,6,1,1,9,9 800 REM******** PUSS COMP ******** 810 CL=3:PB=PB+1:PX=108:PY=34:CH$="2614131317":GOSUB5000 820 PS=PB:PT=P:PX=108:PY=89:GOSUB5120 830 IFPB=5THENGOSUB4040:GOTO930 840 RETURN 850 REM******** PUSS ******** 860 CL=3:P=P+1:GOSUB6020:PX=108:PY=34:CH$="2614131318":GOSUB5000 870 PS=PB:PT=P:PX=108:PY=89:GOSUB5120 880 IFP=5THENGOSUB4040:GOTO940 890 RETURN 900 REM******** GAME SET ******** 910 GOSUB4040:IFPO(0)PO(2)THEN940 920 GOSUB6010:GOSUB6020:CH$="3012141518":PX=108:PY=23:CL=4:GOSUB5000:GOTO960 930 PX=108:PY=12:CH$="230025":GOTO950 940 PX=100:PY=23:CH$="27" 950 GOSUB6010:GOSUB6020:CL=2:GOSUB5000:PX=116:PY=23:CH$="15272817":GOSUB5000 960 FORTI=0TO900:NEXT:PX=100:PY=38:CH$="33272932123129":CL=5:GOSUB5000 970 IFINKEY$=CHR$(13)THEN110ELSE970 1000 REM******** PRINT ******** 1010 IFK=1THENCH$="20"ELSECH$="22" 1020 GOTO1040 1030 CH$="21":GOTO1040 1040 CL=4:PX=PX*11+12:PY=PY*11+12 1050 GOSUB5000:RETURN 2000 REM******** READ ******** 2010 PR%(0)=64 2020 DIMDA%(192):RESTORE3000:FORI=1TO192:READDA%(I) 2030 NEXT 2040 RETURN 2050 REM******** DATA ******** 3000 DATA15360,16962,16962,15426 3010 DATA6144,6172,6168,15384 3020 DATA15360,16450,2096,32260 3030 DATA15360,16450,16496,15426 3040 DATA4096,5144,32274,14352 3050 DATA32256,15874,16450,15426 3060 DATA15360,578,16958,15426 3070 DATA32256,8258,2064,2056 3080 DATA15360,16962,16956,15426 3090 DATA15360,16962,16508,15426 3100 DATA15360,578,514,15426 3110 DATA16896,23142,16962,16962 3120 DATA15872,16962,4670,16930 3130 DATA15360,578,16444,15426 3140 DATA15360,16962,32322,16962 3150 DATA-6400,16962,23106,16998 3160 DATA15360,16962,6176,6144 3170 DATA26112,26214,26214,26112 3180 DATA29184,-30070,8770,8704 3190 DATA15360,15368,32382,15486 3200 DATA32316,-1,-1,15486 3210 DATA16956,-23143,-26203,15426 3220 DATA16956,-32383,-32383,15426 3230 DATA16896,16962,6180,6168 3240 DATA2052,15368,24190,15470 3250 DATA16896,16962,16962,15426 3260 DATA15872,16962,574,514 3270 DATA15360,6168,6168,15384 3280 DATA16896,19014,25170,16962 3290 DATA32256,6168,6168,6168 3300 DATA15872,16962,16962,15938 3310 DATA32256,514,574,32258 3320 DATA0,0,0,0 3330 DATA16896,16962,17022,16962 3340 DATA0,0,60,0 3350 DATA512,514,514,32258 3360 DATA0,0,0,0 3370 DATA0,0,0,0 3380 DATA0,0,0,0 3390 DATA0,0,0,0 3400 DATA15360,16962,32322,16962 3410 DATA15872,16962,16958,15938 3420 DATA15360,578,514,15426 3430 DATA15872,16962,16962,15938 3440 DATA32256,514,574,32258 3450 DATA32256,514,574,514 3460 DATA15360,578,17010,15426 3470 DATA16896,16962,17022,16962 4000 REM******** BEEP ******** 4010 BEEPG:FORBL=0TO10:NEXT:BEEP0 4020 RETURN 4030 FORBL=0TO50:BEEPG:BEEP0:NEXT:RETURN 4040 FORI=0TO40:GOSUB4010:FORTI=0TO10:NEXTTI,I:RETURN 5000 REM******** CHR PRINT ******** 5010 COLORCL:FORL=1TOLEN(CH$)/2 5020 CH=VAL(MID$(CH$,L*2-1,2)) 5030 FORJ=1TO4 5040 PR%(J)=DA%(4*CH+J) 5050 NEXTJ 5060 PUT@(PX,PY)-(PX+7,PY+7),PR%,PSET 5070 IF F=1THENGOSUB4000 5080 PX=PX+8:NEXT 5090 RETURN 5100 REM******** POINT ******** 5110 CL=6:PX=108:PY=67:PS=PO(0):PT=PO(2) 5120 F=0:N1=INT(PS/10):N2=PS-N1*10 5130 N3=INT(PT/10):N4=PT-N3*10 5140 CH$=STR$(N1)+STR$(N2)+"32"+STR$(N3)+STR$(N4) 5150 GOSUB5000:F=1 5160 RETURN 6000 REM******** CLEAR ******** 6010 LINE(50,3)-(74,7)," ",BF:RETURN 6020 LINE(50,8)-(74,10)," ",BF:RETURN 7000 REM******** TITLE ******** 7010 RESTORE7020:FORI=1TO6:READCL,F,PX,PY,CH$:GOSUB5000:NEXT:F=1 7020 DATA2,1,2,12,24242424242424242424242424242424242424 7030 DATA5,1,14,23,10001126252931123200293331353500 7040 DATA4,1,2,34,19191919191919191919191919191919191919 7050 DATA5,1,25,56,26103422 7060 DATA5,1,90,56,2300253420 7070 DATA6,0,30,78,332729321231292512283217 7080 IFINKEY$=CHR$(13)THENGOSUB4030:RETURNELSE7080 10000 REM******** HELP ******** 10010 FORI=0TO7:FORJ=0TO7:PRINTA(J,I);:NEXT:PRINT:NEXT 10020 PRINTPO(0);PO(2) 10030 RETURN