20 PRINT TAB(15);"TIC-TAC-TOE" 30 PRINT 40 PRINT "CREATIVE COMPUTING MORRISTOWN, NEW JERSEY" 50 PRINT 60 PRINT " ADAPTED TO 920 BASIC BY ERIK BAIGAR 2013" 70 PRINT 80 PRINT TAB(9);"THE BOARD IS NUMBERED:" 100 PRINT TAB(13);" 1 2 3" 120 PRINT TAB(13);" 4 5 6" 140 PRINT TAB(13);" 7 8 9" 170 PRINT 180 PRINT 200 DIM S(9) 500 PRINT "DO YOU WANT X (Enter 1) OR O (Enter 0)"; 510 INPUT C 550 IF C=1 THEN 4750 600 P=0 1000 G=-1 1001 H=1 1002 IF S(5)<>0 THEN 1030 1020 S(5)=-1 1021 GOTO 1950 1030 IF S(5)<>1 THEN 1060 1040 IF S(1)<>0 THEN 1100 1050 S(1)=-1 1051 GOTO 1950 1060 IF S(2)=1 AND S(1)=0 THEN 1810 1070 IF S(4)=1 AND S(1)=0 THEN 1810 1080 IF S(6)=1 AND S(9)=0 THEN 1890 1090 IF S(8)=1 AND S(9)=0 THEN 1890 1100 IF G=1 THEN 1120 1110 GOTO 1180 1120 J=3*INT((M-1)/3)+1 1130 IF 3*INT((M-1)/3)+1<>M THEN 1140 1131 K=1 1140 IF 3*INT((M-1)/3)+2<>M THEN 1150 1141 K=2 1150 IF 3*INT((M-1)/3)+3<>M THEN 1160 1151 K=3 1160 GOTO 1200 1180 FOR J=1 TO 7 STEP 3 1190 FOR K=1 TO 3 1200 IF S(J)<>G THEN 1300 1220 IF S(J+2)<>G THEN 1350 1260 IF S(J+1)<>0 THEN 1500 1280 S(J+1)=-1 1290 GOTO 1950 1300 IF S(J)=H THEN 1500 1310 IF S(J+2)<>G THEN 1500 1320 IF S(J+1)<>G THEN 1500 1330 S(J)=-1 1340 GOTO 1950 1350 IF S(J+2)<>0 THEN 1500 1360 IF S(J+1)<>G THEN 1500 1380 S(J+2)=-1 1390 GOTO 1950 1500 IF S(K)<>G THEN 1600 1520 IF S(K+6)<>G THEN 1650 1560 IF S(K+3)<>0 THEN 1700 1580 S(K+3)=-1 1590 GOTO 1950 1600 IF S(K)=H THEN 1700 1610 IF S(K+6)<>G THEN 1700 1620 IF S(K+3)<>G THEN 1700 1630 S(K)=-1 1640 GOTO 1950 1650 IF S(K+6)<>0 THEN 1700 1660 IF S(K+3)<>G THEN 1700 1680 S(K+6)=-1 1690 GOTO 1950 1700 GOTO 4500 1710 IF S(3)=G AND S(7)=0 THEN 1870 1720 IF S(9)=G AND S(1)=0 THEN 1810 1730 IF S(7)=G AND S(3)=0 THEN 1830 1740 IF S(9)=0 AND S(1)=G THEN 1890 1750 IF G<>-1 THEN 1760 1751 G=1 1752 H=-1 1753 GOTO 1100 1760 IF S(9)=1 AND S(3)=0 THEN 1820 1770 FOR I=2 TO 9 1771 IF S(I)<>0 THEN 1790 1780 S(I)=-1 1781 GOTO 1950 1790 NEXT I 1810 S(1)=-1 1811 GOTO 1950 1820 IF S(1)=1 THEN 1770 1830 S(3)=-1 1840 GOTO 1950 1870 S(7)=-1 1880 GOTO 1950 1890 S(9)=-1 1950 PRINT 1960 PRINT"THE COMPUTER MOVES TO..." 2020 GOSUB 10000 2050 GOTO 5000 4500 IF G=1 THEN 4650 4550 IF J=7 AND K=3 THEN 4650 4600 NEXT K 4610 NEXT J 4650 IF S(5)=G THEN 1710 4670 GOTO 1750 4750 P=1 5000 PRINT 5010 PRINT "WHERE DO YOU MOVE"; 5020 INPUT M 5030 IF M<>0 THEN 5040 5031 PRINT"THANKS FOR THE GAME." 5032 GOTO 20000 5040 IF M>9 THEN 5060 5050 IF S(M)=0 THEN 5100 5060 PRINT"THAT SQUARE IS OCCUPIED." 5070 PRINT 5080 PRINT 5090 GOTO 5000 5100 G=1 5110 S(M)=1 5200 GOSUB 10000 5300 GOTO 1000 10000 PRINT 10010 FOR I=1 TO 9 10030 IF S(I)<>-1 THEN 10140 10120 IF P=1 THEN 10125 10121 PRINT " X "; 10122 GOTO 10130 10125 PRINT " O "; 10130 GOTO 10200 10140 IF S(I)<>0 THEN 10180 10160 PRINT " "; 10170 GOTO 10200 10180 IF P=1 THEN 10185 10181 PRINT " O "; 10182 GOTO 10200 10185 PRINT " X "; 10200 IF I<>3 AND I<>6 THEN 10500 10300 PRINT 10310 PRINT"----+-----+----" 10400 GOTO 10800 10500 IF I=9 THEN 10800 10600 PRINT"!"; 10800 NEXT I 10810 PRINT 10820 PRINT 10830 PRINT 10950 FOR I=1 TO 7 STEP 3 11000 IF S(I)<>S(I+1)THEN 11150 11050 IF S(I)<>S(I+2)THEN 11150 11100 IF S(I)=-1 THEN 13500 11120 IF S(I)=1 THEN 12000 11150 NEXT I 11160 FOR I=1 TO 3 11170 IF S(I)<>S(I+3) THEN 11500 11300 IF S(I)<>S(I+6) THEN 11500 11350 IF S(I)=-1 THEN 13500 11370 IF S(I)=1 THEN 12000 11500 NEXT I 11510 FOR I=1 TO 9 11520 IF S(I)=0 THEN 11550 11530 NEXT I 11540 GOTO 14000 11550 IF S(5)<>G THEN 11700 11600 IF S(1)=G AND S(9)=G THEN 11800 11650 IF S(3)=G AND S(7)=G THEN 11800 11700 RETURN 11800 IF G=-1 THEN 13500 12000 PRINT"YOU BEAT ME!! GOOD GAME." 12010 GOTO 20000 13500 PRINT"I WIN, TURKEY!!!" 13510 GOTO 20000 14000 PRINT"IT'S A DRAW. THANK YOU." 20000 END