1 ' TIC-TAC-TOE FX-880P (c) by G.Schwandtner 10 CLEAR : DIM P(2,2,1) 100 CLS: PRINT "Play and üý TIC-TAC-TOE FX880P w i n ! þÿ by G.Schwandtner";CHR$(11); 110 GOSUB 10000 120 IF CWI=1 THEN LOCATE 0,0:PRINT "Computer";:LOCATE7,1:PRINT"s";:GOTO 950 130 IF ANZ>8 THEN 990 150 $=INPUT$(1) 152 IF $="0" AND ANZ=0 THEN 260 155 IF $>"9" OR $<"1" THEN 150 160 RESTORE (160+VAL($)):READ Z,S 161 DATA 2,0 162 DATA 2,1 163 DATA 2,2 164 DATA 1,0 165 DATA 1,1 166 DATA 1,2 167 DATA 0,0 168 DATA 0,1 169 DATA 0,2 170 IF P(Z,S,0)=1 OR P(Z,S,1)=1 THEN 150 175 P(Z,S,1)=1:ANZ=ANZ+1 180 GOSUB 10000 200 CWI=0:CPL=0:CCD=0:CCL=0 201 DATA 0,0,0,1,0,2 202 DATA 1,0,1,1,1,2 203 DATA 2,0,2,1,2,2 204 DATA 0,0,1,0,2,0 205 DATA 0,1,1,1,2,1 206 DATA 0,2,1,2,2,2 207 DATA 0,0,1,1,2,2 208 DATA 2,0,1,1,0,2 210 FOR A=1 TO 8 212 RESTORE (200+A):SU=0 214 FOR B=0 TO 2:READ Z,S:SU=SU+P(Z,S,1):NEXT B 216 IF SU=3 THEN PWI=1:A=8 218 NEXT A:IF PWI=1 THEN 980 219 IF ANZ>8 THEN 990 220 FOR A=1 TO 8 222 RESTORE (200+A):S0=0:S1=0 224 FOR B=0 TO 2:READ Z,S:S0=S0+P(Z,S,0):S1=S1+P(Z,S,1):NEXT B 226 IF S0=2 THEN IF S1=0 THEN CWI=1:L=A:A=8 228 NEXT A:IF CWI THEN 900 230 FOR A=1 TO 8 232 RESTORE (200+A):S0=0:S1=0 234 FOR B=0 TO 2:READ Z,S:S0=S0+P(Z,S,0):S1=S1+P(Z,S,1):NEXT B 236 IF S0=0 THEN IF S1=2 THEN CPL=1:L=A:A=8 238 NEXT A:IF CPL THEN 900 240 FOR A=1 TO 8 242 RESTORE (200+A):S0=0:S1=0 244 FOR B=0 TO 2:READ Z,S:S0=S0+P(Z,S,0):S1=S1+P(Z,S,1):NEXT B 246 IF S0=1 THEN IF S1=0 THEN CCD=1:L=A:A=8 248 NEXT A:IF CCD THEN 900 260 S=INT(RAN#*3):Z=INT(RAN#*3) 265 IF P(Z,S,0)<>0 OR P(Z,S,1)<>0 THEN 260 ELSE P(Z,S,0)=1:ANZ=ANZ+1 270 GOTO 100 900 RESTORE (200+L) 910 FOR A=0 TO 2:READ Z,S 915 IF P(Z,S,0)=0 AND P(Z,S,1)=0 THEN P(Z,S,0)=1:A=2:ANZ=ANZ+1 920 NEXT A 930 GOTO 100 950 $=INPUT$(1,@):LOCATE 0,0:PRINT "Play ";:LOCATE 0,1:PRINT "again ? "; 960 $=INPUT$(1,@):IF $="y" OR $="Y" THEN 10 970 IF $="N" OR $="n" THEN CLS:END ELSE 960 980 LOCATE 0,0:PRINT "Good!YOU";:GOTO 950 990 PRINT "Nobody ";:LOCATE7,1:PRINT "s";:GOTO 950 10000 D$="0000000000HH000000FEFEHH0A0A0A0A0AHH0A0A0AFAFC" 10010 FOR A=0 TO 2:FOR B=0 TO 2 10015 C=-(A>1)*24-(A=1)+B*6+1 10020 IF P(A,B,0)=1 THEN D$=LEFT$(D$,C-1)+"E"+MID$(D$,C+1,1)+"A"+MID$(D$,C+3) 10025 IF P(A,B,1)=1 THEN D$=LEFT$(D$,C-1)+"E"+MID$(D$,C+1,1)+"C"+MID$(D$,C+3) 10030 NEXT B,A 10040 FOR A=252 TO 255:DEFCHR$(A)=MID$(D$,1+(A-252)*12,10):NEXT A 10045 RETURN