Back to Main page. Back to Main tapes page. 1000 DIM A$[72] 1005 GOSUB 8000 1010 REM: ***** TIC-TAC-TOE 1020 F=Z2=0 1030 F=0 1040 MAT E=CON 1050 PRINT "Do you want to move first ? "; 1060 LINPUT A$ 1070 A$=UPS$(A$) 1080 IF NOT LEN(A$) THEN 1130 1090 GOTO POS("YN",A$[1,1])+1 OF 1100,1130,1830 1100 PRINT "Yes or No please" 1110 GOTO 1050 1120 IF F THEN 1170 1130 FOR A=1 TO 9 1140 IF E[A]=1 THEN 1170 1150 NEXT A 1160 GOTO 1910 1170 A$=" X0" 1180 IF Z2 THEN 1250 1190 PRINT LIN(1); 1200 FOR A=1 TO 9 1210 PRINT "["A$[E[A],E[A]]"]"; 1220 IF A/3#INT(A/3) THEN 1240 1230 PRINT LIN(0),LIN(-1); 1240 NEXT A 1250 IF F THEN 130 1260 PRINT LIN(1)"Your move: "; 1280 LINPUT A$ 1290 IF NOT LEN(A$) THEN 1260 1300 CONVERT A$[LEN(A$)] TO A,1310 1310 Z2=POS(A$,"N") 1320 IF POS(A$,"B") THEN 1170 1330 IF A AND A<10 THEN 1360 1340 PRINT "BAD POSITION" 1350 GOTO 1260 1360 IF E[A]#1 THEN 1340 1370 E[A]=2 1380 RESTORE 1940 1390 FOR A=1 TO 8 1400 READ B,C,D 1410 IF E[B]=2 AND E[C]=2 AND E[D]=2 THEN 1980 1420 NEXT A 1430 RESTORE 1940 1440 FOR A=1 TO 8 1450 READ B,C,D 1460 IF E[B]#3 OR E[C]#3 OR E[D]#1 THEN 1500 1470 X=D 1480 E[D]=3 1490 GOTO 2010 1500 IF E[B]#3 OR E[C]#1 OR E[D]#3 THEN 1540 1510 X=C 1520 E[C]=3 1530 GOTO 2010 1540 IF E[B]#1 OR E[C]#3 OR E[D]#3 THEN 1580 1550 X=B 1560 E[B]=3 1570 GOTO 2010 1580 NEXT A 1590 RESTORE 1940 1600 FOR A=1 TO 8 1610 READ B,C,D 1620 IF E[B]#2 OR E[C]#2 OR E[D]#1 THEN 1660 1630 X=D 1640 E[D]=3 1650 GOTO 2050 1660 IF E[B]#2 OR E[C]#1 OR E[D]#2 THEN 1700 1670 X=C 1680 E[C]=3 1690 GOTO 2050 1700 IF E[B]#1 OR E[C]#2 OR E[D]#2 THEN 1740 1710 X=B 1720 E[B]=3 1730 GOTO 2050 1740 NEXT A 1750 RESTORE 1950 1760 FOR A=1 TO 14 1770 READ B,C,D 1780 IF E[B]#2 OR E[C]#2 OR E[D]#1 THEN 1820 1790 X=D 1800 E[D]=3 1810 GOTO 2080 1820 NEXT A 1830 RESTORE 1970 1840 FOR A=1 TO 9 1850 READ B 1860 IF E[B]#1 THEN 1900 1870 E[B]=3 1880 X=B 1890 GOTO 2080 1900 NEXT A 1910 PRINT "CATS GAME"'10 1920 F=1 1930 GOTO 1120 1940 DATA 1,2,3,4,5,6,7,8,9,1,4,7,2,5,8,3,6,9,1,5,9,3,5,7 1950 DATA 2,4,1,4,8,7,8,6,9,6,2,1,1,6,3,3,8,9,9,4,7,7,2,1 1960 DATA 4,3,1,2,9,3,6,7,9,8,1,7,1,9,2,3,7,6 1970 DATA 5,9,1,7,3,2,4,6,8 1980 PRINT LIN(2)"Congratulations, you win"'7"!"'7"!"'7"!" 1990 F=1 2000 GOTO 1130 2010 CONVERT X TO B$ 2020 PRINT LIN(1)"Computer moves to position "B$" and wins!"'7"!"'7"!"'7"!" 2030 F=1 2040 GOTO 1120 2050 CONVERT X TO B$ 2060 PRINT "Computer blocks at position "B$ 2070 GOTO 1120 2080 CONVERT X TO B$ 2090 PRINT "Computer moves to position "B$ 2100 GOTO 1120 2110 GOTO 130 2120 END 8000 REM *** This section was written by Lane Rollins. 8010 DIM Z1$[10] 8020 PRINT "Instructions: "; 8030 LINPUT Z1$ 8040 IF Z1$[1,1]="N" THEN 8210 8050 PRINT "" 8060 PRINT " THE OBJECT OF THIS GAME IS TO GET THREE 'X'S IN A ROW OR" 8070 PRINT "COLUMN BEFORE THE COMPUTER GETS THREE 'O'S IN A ROW OR COLUMN." 8080 PRINT "HERE IS AN EXAMPLE:" 8090 PRINT "" 8100 PRINT " [ ][X][ ]" 8110 PRINT " [ ][O][ ]" 8120 PRINT " [ ][ ][ ]" 8130 PRINT "" 8140 PRINT " THE 'X' IS ON POSITION 2 AND THE 'O' IS ON POSITION 5." 8150 PRINT "P.S. EXPERTS CAN TYPE 'N' BEFORE THEIR NUMBER TO SPECIFY NO BOARD" 8160 PRINT "IS TO BE PRINTED, AND TYPE A 'B' TO RECIEVE A BOARD AS THE GAME" 8170 PRINT "PROGRESSES." 8180 PRINT "" 8190 PRINT "WARNING: THE COMPUTER HAS NEVER LOST THIS GAME." 8200 PRINT "" 8210 RETURN 8220 END