A simple tic-tac-toe game. Just enter the number for where you want to move.
PROG : 16509
D-FILE: 20556
VARS : 21349
E-LINE: 21350
STKBOT: 21350
STKEND: 21350
9999 means line number
PRINT means treat as KEYWORD P
1 REM *TIC-TAC-TOE**SLR/1983*
10 PRINT "IF YOU WISH INSTRUCT
IONS, ENTER YES WHEN YOU SEE ""L
"" APPEAR."
20 INPUT A$
30 IF A$="YES" THEN GOTO 60
40 CLEAR
50 GOTO 120
60 CLS
70 PRINT "TIC-TAC-TOE"
80 PRINT ,,"YOU ARE TRYING TO
GET 3 O""S IN AROW WITHOUT LETTI
NG THE COMPUTERGET 3 OF ITS X""S
IN A ROW."
90 PRINT ,,"ENTER IN THE NUMBE
R OF THE SQUARE IN WHICH YO
U WISH TO GO INSIDE THE """" WH
EN THEY APPEAR.",,,,"GOOD LUCK."
100 CLEAR
110 FOR D=1 TO 1000
114 REM **WAIT**
118 NEXT D
120 CLS
130 PRINT AT 8,8;"1 2 3";TAB 8;
" ";TAB 8;"4 5 6";TAB 8;"
";TAB 8;"7 8 9";TAB 8;"BY:S.L.
REID"
140 SLOW
150 DIM E(9)
152 DIM B(9)
156 DIM C(9)
157 LET S=0
158 LET T=0
160 LET A$="080808101010121212"
165 LET B$="081012081012081012"
170 FOR W=1 TO 9
171 LET S=S+2
175 LET B(W)=VAL B$(S-1 TO S)
180 NEXT W
182 FOR V=1 TO 9
184 LET T=T+2
190 LET E(V)=VAL A$(T-1 TO T)
200 NEXT V
210 FOR A=1 TO 9
214 LET C(A)=2
218 NEXT A
220 INPUT A$
230 IF A$>"9" AND A$<"0" THEN
GOTO 220
240 LET Z=VAL A$
250 IF C(Z)<>2 THEN GOTO 220
260 LET C(Z)=0
270 PRINT AT E(Z),B(Z);"O"
272 FOR D=1 TO 100
274 NEXT D
276 FAST
280 IF C(1)=0 AND (C(2)=0 AND C
(3)=0) THEN GOTO 370
290 IF C(4)=0 AND (C(5)=0 AND C
(6)=0) THEN GOTO 370
300 IF C(7)=0 AND (C(8)=0 AND C
(9)=0) THEN GOTO 370
310 IF C(1)=0 AND C(4)=0 AND C(
7)=0 THEN GOTO 370
320 IF C(2)=0 AND C(5)=0 AND C(
8)=0 THEN GOTO 370
330 IF C(3)=0 AND C(6)=0 AND C(
9)=0 THEN GOTO 370
340 IF C(1)=0 AND C(5)=0 AND C(
9)=0 THEN GOTO 370
350 IF C(7)=0 AND C(5)=0 AND C(
3)=0 THEN GOTO 370
360 GOTO 450
370 LET P$="<*YOU WIN*>"
375 PRINT AT 3,3;"TIC-TAC-TOE";
TAB 3;P$;TAB 3;"DO YOU WISH";
TAB 3;"ANOTHER GAME <Y/N>""F"""
376 SLOW
380 IF INKEY$="Y" THEN GOTO 420
390 IF INKEY$<>"N" THEN GOTO 38
0
400 CLS
410 STOP
420 PRINT AT 6,22;"YF"""
430 IF INKEY$="" THEN GOTO 430
435 CLS
440 RUN
450 FOR A=1 TO 0 STEP -1
451 IF C(1)=2 AND (((C(2)=A
AND C(3)=A) OR (C(5)=A OR C(9)=
A) OR C(4)=A AND C(7)=A)) THEN
GOTO 680
460 IF C(2)=2 AND ((C(1)=A AND
C(3)=A) OR (C(5)=A AND C(8)=A))
THEN GOTO 700
470 IF C(3)=2 AND (((C(1)=A
AND C(2)=A) OR (C(5)=A AND C(7)
=A)) OR (C(6)=A AND C(9)=A))
THEN GOTO 720
480 IF C(6)=2 AND ((C(3)=A AND
C(9)=A) OR (C(4)=A AND C(5)=A))
THEN GOTO 740
490 IF C(9)=2 AND (((C(6)=A
AND C(3)=A) OR (C(8)=A AND C(7)
=A)) OR (C(1)=A AND C(5)=A))
THEN GOTO 760
500 IF C(8)=2 AND ((C(2)=A AND
C(5)=A) OR (C(7)=A AND C(8)=A))
THEN GOTO 780
510 IF C(7)=2 AND (((C(1)=A
AND C(4)=A) OR (C(3)=A AND C(5)
=A)) OR (C(8)=A AND C(9)=A))
THEN GOTO 800
520 IF C(4)=2 AND ((C(1)=A AND
C(7)=A) OR (C(5)=A AND C(6)=A))
THEN GOTO 820
530 NEXT A
540 LET M=0
550 FOR D=1 TO 9
560 IF C(D)<>2 THEN LET M=M+1
570 NEXT D
580 IF M=9 THEN GOTO 920
590 IF C(5)=2 THEN GOTO 660
600 LET R=INT (9*RND)+1
610 IF C(R)=2 THEN GOTO 630
620 GOTO 600
630 LET C(R)=1
640 PRINT AT E(R),B(R);"X"
650 GOTO 840
660 LET R=5
670 GOTO 630
680 LET R=1
690 GOTO 630
700 LET R=2
710 GOTO 630
720 LET R=3
730 GOTO 630
740 LET R=6
750 GOTO 630
760 LET R=9
770 GOTO 630
780 LET R=8
790 GOTO 630
800 LET R=7
810 GOTO 630
820 LET R=4
830 GOTO 630
840 IF ((C(1)=1 AND C(2)=1)
AND C(3)=1) OR ((C(4)=1 AND C(5
)=1) AND C(6)=1) THEN GOTO 890
850 IF ((C(7)=1 AND C(8)=1)
AND C(9)=1) OR ((C(1)=1 AND C(4
)=1) AND C(7)=1) THEN GOTO 890
860 IF ((C(2)=1 AND C(5)=1)
AND C(8)=1) OR ((C(3)=1 AND C(6
)=1) AND C(9)=1) THEN GOTO 890
870 IF ((C(1)=1 AND C(5)=1)
AND C(9)=1) OR ((C(7)=1 AND C(5
)=1) AND C(3)=1) THEN GOTO 890
880 GOTO 220
890 LET P$="<**I WON**>"
900 PRINT AT 0,0;"HA/HA/**YOU L
OST"
910 GOTO 375
920 LET P$="<***TIE***>"
930 GOTO 375
1000 SAVE "TTT"
1010 RUN