2 PRINT TAB(30);"TIC-TAC-TOE" 4 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY" 6 PRINT : PRINT : PRINT 8 PRINT "THE BOARD IS NUMBERED:" 10 PRINT " 1 2 3" 12 PRINT " 4 5 6" 14 PRINT " 7 8 9" 16 PRINT : PRINT : PRINT 20 DIM SS(9) 50 INPUT"DO YOU WANT 'X' OR 'O'";C$ 55 IF C$="X"THEN 475 57 IF C$="x" THEN 475 60 P$="O" : Q$="X" 100 G=-1 : H=1 : IF SS(5)<>0 THEN 103 102 SS(5)=-1 : GOTO 195 103 IF SS(5)<>1 THEN 106 104 IF SS(1)<>0 THEN 110 105 SS(1)=-1 : GOTO 195 106 IF SS(2)=1 AND SS(1)=0 THEN 181 107 IF SS(4)=1 AND SS(1)=0 THEN 181 108 IF SS(6)=1 AND SS(9)=0 THEN 189 109 IF SS(8)=1 AND SS(9)=0 THEN 189 110 IF G=1 THEN 112 111 GOTO 118 112 J=3*INT((M-1)/3)+1 113 IF 3*INT((M-1)/3)+1=M THEN : K=1 : END IF 114 IF 3*INT((M-1)/3)+2=M THEN : K=2 : END IF 115 IF 3*INT((M-1)/3)+3=M THEN : K=3 : END IF 116 GOTO 120 118 FOR J=1 TO 7 STEP 3 : FOR K=1 TO 3 120 IF SS(J)<>G THEN 130 122 IF SS(J+2)<>G THEN 135 126 IF SS(J+1)<>0 THEN 150 128 SS(J+1)=-1 : GOTO 195 130 IF SS(J)=H THEN 150 131 IF SS(J+2)<>G THEN 150 132 IF SS(J+1)<>G THEN 150 133 SS(J)=-1 : GOTO 195 135 IF SS(J+2)<>0 THEN 150 136 IF SS(J+1)<>G THEN 150 138 SS(J+2)=-1 : GOTO 195 150 IF SS(K)<>G THEN 160 152 IF SS(K+6)<>G THEN 165 156 IF SS(K+3)<>0 THEN 170 158 SS(K+3)=-1 : GOTO 195 160 IF SS(K)=H THEN 170 161 IF SS(K+6)<>G THEN 170 162 IF SS(K+3)<>G THEN 170 163 SS(K)=-1 : GOTO 195 165 IF SS(K+6)<>0 THEN 170 166 IF SS(K+3)<>G THEN 170 168 SS(K+6)=-1 : GOTO 195 170 GOTO 450 171 IF SS(3)=G AND SS(7)=0 THEN 187 172 IF SS(9)=G AND SS(1)=0 THEN 181 173 IF SS(7)=G AND SS(3)=0 THEN 183 174 IF SS(9)=0 AND SS(1)=G THEN 189 175 IF G=-1 THEN : G=1 : H=-1 : GOTO 110 : END IF 176 IF SS(9)=1 AND SS(3)=0 THEN 182 177 FOR I=2 TO 9 : IF SS(I)<>0 THEN 179 178 SS(I)=-1 : GOTO 195 179 NEXT I 181 SS(1)=-1 : GOTO 195 182 IF SS(1)=1 THEN 177 183 SS(3)=-1 : GOTO 195 187 SS(7)=-1 : GOTO 195 189 SS(9)=-1 195 PRINT : PRINT"THE COMPUTER MOVES TO..." 202 GOSUB 1000 205 GOTO 500 450 IF G=1 THEN 465 455 IF J=7 AND K=3 THEN 465 460 NEXT K : NEXT J 465 IF SS(5)=G THEN 171 467 GOTO 175 475 P$="X" : Q$="O" 500 PRINT : INPUT"WHERE DO YOU MOVE";M 502 IF M=0 THEN : PRINT"THANKS FOR THE GAME." : GOTO 2000 : END IF 503 IF M>9 THEN 506 505 IF SS(M)=0 THEN 510 506 PRINT"THAT SQUARE IS OCCUPIED." : PRINT : PRINT : GOTO 500 510 G=1 : SS(M)=1 520 GOSUB 1000 530 GOTO 100 1000 PRINT : FOR I=1 TO 9 : PRINT" "; : IF SS(I)<>-1 THEN 1014 1012 PRINT Q$;" "; : GOTO 1020 1014 IF SS(I)<>0 THEN 1018 1016 PRINT" "; : GOTO 1020 1018 PRINT P$;" "; 1020 IF I<>3 AND I<>6 THEN 1050 1030 PRINT : PRINT"---+---+---" 1040 GOTO 1080 1050 IF I=9 THEN 1080 1060 PRINT"!"; 1080 NEXT I : PRINT : PRINT : PRINT 1095 FOR I=1 TO 7 STEP 3 1100 IF SS(I)<>SS(I+1)THEN 1115 1105 IF SS(I)<>SS(I+2)THEN 1115 1110 IF SS(I)=-1 THEN 1350 1112 IF SS(I)=1 THEN 1200 1115 NEXT I : FOR I=1 TO 3 : IF SS(I)<>SS(I+3)THEN 1150 1130 IF SS(I)<>SS(I+6)THEN 1150 1135 IF SS(I)=-1 THEN 1350 1137 IF SS(I)=1 THEN 1200 1150 NEXT I : FOR I=1 TO 9 : IF SS(I)=0 THEN 1155 1152 NEXT I : GOTO 1400 1155 IF SS(5)<>G THEN 1170 1160 IF SS(1)=G AND SS(9)=G THEN 1180 1165 IF SS(3)=G AND SS(7)=G THEN 1180 1170 RETURN 1180 IF G=-1 THEN 1350 1200 PRINT"YOU BEAT ME!! GOOD GAME." : GOTO 2000 1350 PRINT"I WIN, TURKEY!!!" : GOTO 2000 1400 PRINT"IT'S A DRAW. THANK YOU." 2000 END