home *** CD-ROM | disk | FTP | other *** search
- 1 DATA 2,3,4,9,1,5,8,7,6
- 2 DATA 2,3,4,9,1,5,8,7,6,2,9,8,3,1,7
- 3 DATA 4,5,6,2,1,6,4,1,8
- 4 DATA 0,1,-1,1,-1,1,-1,1,-1
- 5 DIM A(9)
- 6 DIM B(9)
- 7 DIM C(24)
- 8 DIM D(24)
- 9 DIM F(9)
- 10 FOR I=1 TO 9
- 11 READ A(I)
- 12 NEXT I
- 13 FOR I=1 TO 24
- 14 READ C(I)
- 15 NEXT I
- 16 FOR I=1 TO 9
- 17 READ F(I)
- 18 NEXT I
- 19 PRINT "TIC-TAC-TOE"
- 20 PRINT
- 21 PRINT "THE MOVE POSITIONS ARE:"
- 22 PRINT
- 23 PRINT "1 2 3"
- 24 PRINT "4 5 6"
- 25 PRINT "7 8 9"
- 26 GOSUB 133
- 27 GOSUB 133
- 32 LET E=0
- 33 LET G=2
- 34 LET K=0
- 35 FOR I=1 TO 9
- 36 LET B(I)=0
- 37 NEXT I
- 38 FOR I=1 TO 24
- 39 LET D(I)=0
- 40 NEXT I
- 41 PRINT
- 42 PRINT
- 43 PRINT "--BEGIN GAME--"
- 44 PRINT "YOU WILL BE 'X', I WILL BE 'O'"
- 47 PRINT "TYPE 0 IF YOU WANT ME TO GO FIRST";
- 48 INPUT I
- 49 IF I=0 THEN 65
- 50 LET L=-1
- 51 PRINT "YOUR MOVE";
- 52 INPUT I
- 53 PRINT
- 54 PRINT
- 55 LET H=INT(ABS(I))
- 56 IF H<>I THEN 50
- 57 IF H < 1 THEN 50
- 58 IF H>9 THEN 50
- 59 LET H=A(H)
- 60 IF B(H) <> 0 THEN 50
- 61 IF K=1 THEN 64
- 62 LET G=F(H)
- 63 LET K=1
- 64 GOSUB 111
- 65 LET L=1
- 66 FOR I=1 TO 22 STEP 3
- 67 IF D(I) + D(I+1) + D(I+2) = -3 THEN 92
- 68 NEXT I
- 69 FOR I=1 TO 22 STEP 3
- 70 IF D(I) + D(I+1) + D(I+2) = 2 THEN 90
- 71 NEXT I
- 72 FOR I=1 TO 22 STEP 3
- 73 IF D(I) + D(I+1) + D(I+2) = -2 THEN 106
- 74 NEXT I
- 75 IF E=1 THEN 77
- 76 IF G = -1 THEN 78
- 77 IF B(1)=0 THEN 100
- 78 IF G <> 0 THEN 82
- 79 FOR I=2 TO 8 STEP 2
- 80 IF B(I)=0 THEN 101
- 81 NEXT I
- 82 IF H=8 THEN 86
- 83 FOR I=H+1 TO 8
- 84 IF B(I)=0 THEN 101
- 85 NEXT I
- 86 FOR I=2 TO 9
- 87 IF B(I)=0 THEN 101
- 88 NEXT I
- 89 GOTO 98
- 90 PRINT "I WIN"
- 91 GOTO 900
- 92 PRINT "YOU ARE NOT ALLOWED TO WIN"
- 93 FOR I=1 TO 9
- 94 LET B(I)=1
- 95 NEXT I
- 96 GOSUB 117
- 97 GOTO 900
- 98 PRINT "DRAW"
- 99 GOTO 900
- 100 LET I=1
- 101 LET H=I
- 102 GOSUB 111
- 103 LET E=1
- 104 GOSUB 117
- 105 GOTO 50
- 106 FOR J=I TO I+2
- 107 IF D(J)=0 THEN 109
- 108 NEXT J
- 109 LET I=C(J)
- 110 GOTO 101
- 111 LET B(H)=L
- 112 FOR M=1 TO 24
- 113 IF C(M) <> H THEN 115
- 114 LET D(M)=L
- 115 NEXT M
- 116 RETURN
- 117 FOR N=1 TO 9
- 118 IF B(N)=0 THEN 200
- 119 NEXT N
- 120 IF N<100 THEN 98
- 121 FOR N=1 TO 9 STEP 3
- 122 FOR O= 0 TO 2
- 123 IF B(A(O+N))=0 THEN 127
- 124 IF B(A(O+N))=1 THEN 129
- 125 PRINT "X ";
- 126 GOTO 130
- 127 PRINT "- ";
- 128 GOTO 130
- 129 PRINT "O ";
- 130 NEXT O
- 131 PRINT
- 132 NEXT N
- 133 PRINT
- 136 RETURN
- 137 STOP
- 200 LET N=1000
- 210 GOTO 119
- 900 GOTO 910
- 910 PRINT "TRY AGAIN (IF SO TYPE 0)";
- 920 INPUT I
- 930 IF I<>0 THEN 999
- 940 GOTO 27
- 999 END
-