1 REM "PERSUASION2B.BAS" 2003.06.26 3 DEFFNP2(X)=PEEK(A(0)+X):REM 2^X 4 DEFFNRA(X)=A(11)+(X+4)*4:REM RGN X+1 DFN 10 REM --- PLAY NEW GAME 11 POKE53265,91:SYS820,1:Q=0:POKEMV+2,34:X%(0)=172:Y%(0)=64:X%(1)=172:Y%(1)=208 12 SYSML+42,184:PX%=0:FORI=0TO1:P=I:GOSUB308:GOSUB318:GOSUB324:NEXT 13 POKESP+41,7:POKESP+42,0:POKESP+21,63:POKE53265,91:M=-1 14 REM --- NEXT MOVE 15 O=P:P=1-P:SYS820,2,P 16 POKE53280,W%(P):CC%=C%(P,5):GOSUB328 17 POKESP+41+O,0:POKESP+41+P,7:M=M+1 18 REM --- INPUT 19 A=PEEK(A(4)+P):X=A(1)+A*5:POKESP+39,1 20 SYSML+9:IFCR%>0THENI%=CR%:ONI%GOTO40000,10,29,29:ONP%(P)GOTO30 21 IFR2%THENI=O:GOSUB314:I=P:GOSUB314:GOTO23 22 SYSML+60,"QPBG1234":IFI%>0THENONI%GOTO40000,10,29,29:ONP%(P)GOTO32 23 ONQGOTO20:ONP%(P)GOTO20 24 POKESP+39,7:IFSTHENIFP=(NAND1)THENIFM<=NTHENJ=PEEK(52736+M):GOTO26 25 SYS820,3,P:J=PEEK(679+18):IFPEEK(A(6))=1THENZ=2 26 B=PEEK(X+J):IFSTHEN35 28 SYSML+24,15:X=FNRA(B):SYSML+21,PEEK(X),PEEK(X+2):SYSML+24,30:GOTO35 29 I=I%-3:GOSUB314:GOTO23 30 B=I%-5:IFB=ATHEN20 31 FORI=0TO3:J=I:H=(B=PEEK(X+J)):I=I+(I-3)*H:NEXT:ON2+HGOTO34,20 32 J=I%-5:B=PEEK(X+J) 33 IF(PEEK(X+4)ANDFNP2(J))=0THEN20 34 POKESP+39,7 35 REM --- RESULTS 36 IFSTHENIFP%(P)=0THENIFPEEK(A(6))=1THEN10 37 IFSTHENIFP%(P)=1THENIFM<512THENPOKE52736+M,J:N=M 38 X%(P)=X%(P)+JX%(J):Y%(P)=Y%(P)+JY%(J):GOSUB308 39 X=FNRA(B):X=55296+PEEK(X+2)*40+PEEK(X):CC%=PEEK(X)AND15 40 IFCC%<>5THENSYSML+36,B+5,255,C%(P,CC%):GOTO42 41 POKEX,C%(P,CC%):POKEX+1,C%(P,CC%):POKEX+40,W%(P):POKEX+41,W%(P) 42 X=A(10)+P:PX%=PEEK(X):IFC%(P,CC%)=W%(P)THENPX%=PX%+1:POKEX,PX%:H=2:GOTO44 43 H=1:IFC%(P,CC%)=2THENPX%=PX%-1:POKEX,PX% 44 GOSUB301 45 GOSUB324 46 POKEA(4)+P,B:POKEA(5)+B,C%(P,CC%) 47 H=FNP2(J):L=PEEK(A(7)):IFL>0THENH=PEEK(A(8)+(L-1)*14+H-1) 48 POKEA(3)+23,15-H 49 IFPX%=15ANDPEEK(A(10)+O)=15THEN52:REM TIE 50 IFPX%<16THEN14 51 POKE646,7:CX%=3+P*32:SYSML+12,CX%,5,A$(21,P):SYSML+12,CX%,6,A$(22,P):REM WIN 52 POKESP+41+P,0:CC%=7:GOSUB328:Q=1:POKEMV+2,4:GOTO18 300 : 301 : REM SOUND 302 : 303 FORL=1TOH:FORI=54272TO54295:POKEI,0:NEXT 304 POKE54296,15:POKE54277,8:POKE54278,255:POKE54276,23 305 POKE54287,40:POKE54278,15:FORI=1TO10:POKE54273,I:NEXT:NEXT 306 RETURN 307 : 308 : REM SPRITE 2/3 309 : 310 CX%=P*2+4:CY%=CX%+1:POKESP+CY%,0:POKESP+CX%,X%(P)AND255 311 H=FNP2(P+2):X=SP+16:POKEX,(PEEK(X)AND(63-H))-H*(X%(P)>255):POKESP+CY%,Y%(P) 312 RETURN 313 : 314 : REM TOGGLE 315 : 316 P%(I)=1-P%(I) 317 : 318 : REM ICON 319 : 320 CX%=6+I*26:H=17+P%(I)*2 321 POKE646,C%(I,5):SYSML+12,CX%,3,A$(H,I):SYSML+12,CX%,4,A$(H+1,I) 322 RETURN 323 : 324 : REM SCORE 325 : 326 POKE646,C%(P,5):SYSML+12,3+P*32,6,A$(PX%,P):RETURN 327 : 328 : REM PAINT PERSUASION 329 : 330 SYSML+30,15,24,24,24,255,CC%:RETURN 999 : 10000 D=8:F$="0:PERSUASION2B.BAS":OPEN1,D,15,"S"+F$:CLOSE1:SAVEF$,D:END 40000 POKESP+21,0:SYSML+3:SYSMM+3:PRINT"[147]";:POKE53265,27:POKE53272,23 40002 POKE53280,14:POKE53281,6:POKE646,14:POKE199,0 40004 FORI=8TO29:POKE820+I,I:NEXT:IFD>8ANDD<30THENPOKE828,D:POKE820+D,8 40006 ONZGOTO40032:F$="PERSUASION2X.LST":GOSUB40038:IFER<>63THEN40032 40008 FORX=820TO935:READJ:POKEX,J:NEXT 40010 A=8960 40012 B=2+(PEEK(A)+PEEK(A+1)*256)*23 40014 OPEN15,I,15:PRINT#15,"S0:"+F$:CLOSE15 40016 H=INT(A/256):L=A-H*256 40018 POKE253,L:POKE254,H 40020 X=A+B+2:H=INT(X/256):L=X-H*256 40022 POKE63,L:POKE64,H 40024 OPEN2,I,2,F$+",P,W" 40026 POKE53265,11 40028 SYS820 40029 FORI=8TO29:POKE820+I,I:NEXT:IFD>8ANDD<30THENPOKE828,D:POKE820+D,8 40030 PRINT"[147]";:POKE53265,27 40032 F$="PRESENTER":GOSUB40038:IFER=63THEN40046 40034 F$="HELLO CONNECT":GOSUB40038:IFER=63THEN40046 40036 POKE186,8:POKE56,160:POKE55,0:CLR:NEW 40038 FORJ=8TO29:I=PEEK(820+J):IFI=14THEN40044 40040 CLOSE2:OPEN2,I,2:CLOSE2:IFSTTHEN40044 40042 CLOSE15:OPEN15,I,15,"R0:"+F$+"="+F$:INPUT#15,ER:IFER=63THENJ=29:CLOSE15 40044 NEXT:RETURN 40046 F$="HELLO CONNECT":Q$=CHR$(34):POKE646,6 40048 PRINT"[147]P[207]56,160:P[207]55,0:CLR:L[207]"Q$F$Q$","I 40050 PRINT"R[213]:":POKE631,13:POKE632,13:POKE198,2:END 40052 DATA 32,204,255,162,2,32,201,255,165,253,32,210,255,165,254,32,210 40054 DATA 255,32,157,3,120,169,48,133,1,177,253,145,251,196,63,208,6,165 40056 DATA 254,197,64,240,13,200,208,239,230,254,230,252,165,252,201,8 40058 DATA 208,229,132,113,165,252,133,114,32,157,3,169,55,133,1,88,177,251 40060 DATA 32,210,255,196,113,208,6,165,252,197,114,240,14,200,208,238 40062 DATA 230,252,165,252,201,8,208,230,76,70,3,169,2,32,195,255,32,204 40064 DATA 255,96,169,0,133,251,169,4,133,252,160,0,96