HUMAN'MOVE:
IF MOVES=9 THEN GOTO TIE
PRINT TAB(17,5); TAB(-1,11);
INPUT LINE "YOUR MOVE: "; MOVE
PRINT TAB(17,5); TAB(-1,9);
IF MOVE<1 OR MOVE>9 THEN GOTO HUMAN'MOVE
R = X(MOVE)
C = Y(MOVE)
IF A(R,C)<>0 THEN GOTO HUMAN'MOVE
A(R,C) = 1
MOVES = MOVES+1
PLOT'HUMAN'MOVE:
PRINT TAB(-1,12);
PRINT TAB(R*4,C*8+21); " X X";
PRINT TAB(R*4+1,C*8+21); " X";
PRINT TAB(R*4+2,C*8+21); " X X";
CHECK'FOR'HUMAN'WIN:
FLAG = 0
FOR I = 1 TO 3
IF A(I,1)=1 AND A(I,2)=1 AND A(I,3)=1 THEN FLAG = 1
IF A(1,I)=1 AND A(2,I)=1 AND A(3,I)=1 THEN FLAG =1
NEXT I
IF A(1,1)=1 AND A(2,2)=1 AND A(3,3)=1 THEN FLAG = 1
IF A(3,1)=1 AND A(2,2)=1 AND A(1,3)=1 THEN FLAG = 1
IF FLAG=1 THEN GOTO HUMAN'WIN
COMPUTER'MOVE:
IF MOVES=0 THEN R = INT(RND(0)*3)+1 : C = INT(RND(0)*3)+1 :&
GOTO PLOT'COMPUTER'MOVE
IF MOVES=9 THEN GOTO TIE
FLAG = 0
CHECK'TO'SEE'IF'WE'CAN'WIN:
FOR I = 1 TO 3
IF A(I,1)=0 AND A(I,2)=2 AND A(I,3)=2 THEN R = I : C = 1 : FLAG = 1
IF A(1,I)=0 AND A(2,I)=2 AND A(3,I)=2 THEN R = 1 : C = I : FLAG = 1
IF A(I,2)=0 AND A(I,1)=2 AND A(I,3)=2 THEN R = I : C = 2 : FLAG = 1
IF A(2,I)=0 AND A(1,I)=2 AND A(3,I)=2 THEN R = 2 : C = I : FLAG = 1
IF A(I,3)=0 AND A(I,1)=2 AND A(I,2)=2 THEN R = I : C = 3 : FLAG = 1
IF A(3,I)=0 AND A(1,I)=2 AND A(2,I)=2 THEN R = 3 : C = I : FLAG = 1
NEXT I
IF A(1,1)=0 AND A(2,2)=2 AND A(3,3)=2 THEN R = 1 : C = 1 : FLAG = 1
IF A(2,2)=0 AND A(1,1)=2 AND A(3,3)=2 THEN R = 2 : C = 2 : FLAG = 1
IF A(3,3)=0 AND A(1,1)=2 AND A(2,2)=2 THEN R = 3 : C = 3 : FLAG = 1
IF A(3,1)=0 AND A(2,2)=2 AND A(1,3)=2 THEN R = 3 : C = 1 : FLAG = 1
IF A(2,2)=0 AND A(1,3)=2 AND A(3,1)=2 THEN R = 2 : C = 2 : FLAG = 1
IF A(1,3)=0 AND A(3,1)=2 AND A(2,2)=2 THEN R = 1 : C = 3 : FLAG = 1
IF FLAG=1 THEN GOTO PLOT'COMPUTER'MOVE
CHECK'TO'SEE'IF'WE'CAN'PREVENT'HUMAN'FROM'WINNING:
FOR I = 1 TO 3
IF A(I,1)=0 AND A(I,2)=1 AND A(I,3)=1 THEN R = I : C = 1 : FLAG = 1
IF A(1,I)=0 AND A(2,I)=1 AND A(3,I)=1 THEN R = 1 : C = I : FLAG = 1
IF A(I,2)=0 AND A(I,1)=1 AND A(I,3)=1 THEN R = I : C = 2 : FLAG = 1
IF A(2,I)=0 AND A(1,I)=1 AND A(3,I)=1 THEN R = 2 : C = I : FLAG = 1
IF A(I,3)=0 AND A(I,1)=1 AND A(I,2)=1 THEN R = I : C = 3 : FLAG = 1
IF A(3,I)=0 AND A(1,I)=1 AND A(2,I)=1 THEN R = 3 : C = I : FLAG = 1
NEXT I
IF A(1,1)=0 AND A(2,2)=1 AND A(3,3)=1 THEN R = 1 : C = 1 : FLAG = 1
IF A(2,2)=0 AND A(1,1)=1 AND A(3,3)=1 THEN R = 2 : C = 2 : FLAG = 1
IF A(3,3)=0 AND A(1,1)=1 AND A(2,2)=1 THEN R = 3 : C = 3 : FLAG = 1
IF A(3,1)=0 AND A(2,2)=1 AND A(1,3)=1 THEN R = 3 : C = 1 : FLAG = 1
IF A(2,2)=0 AND A(1,3)=1 AND A(3,1)=1 THEN R = 2 : C = 2 : FLAG = 1
IF A(1,3)=0 AND A(3,1)=1 AND A(2,2)=1 THEN R = 1 : C = 3 : FLAG = 1
IF FLAG=1 THEN GOTO PLOT'COMPUTER'MOVE
CHECK'TO'SEE'IF'WE'CAN'GET'A'GOOD'LOCATION:
IF A(2,2)=0 THEN R = 2 : C = 2 : GOTO PLOT'COMPUTER'MOVE
IF A(1,1)=0 THEN R = 1 : C = 1 : GOTO PLOT'COMPUTER'MOVE
IF A(3,3)=0 THEN R = 3 : C = 3 : GOTO PLOT'COMPUTER'MOVE
IF A(1,3)=0 THEN R = 1 : C = 3 : GOTO PLOT'COMPUTER'MOVE
IF A(3,1)=0 THEN R = 3 : C = 1 : GOTO PLOT'COMPUTER'MOVE
CHECK'TO'SEE'IF'WE'CAN'GO'ANYWHERE'AT'ALL:
FOR I = 1 TO 3
FOR J = 1 TO 3
IF A(I,J)=0 THEN R = I : C = J : FLAG = 1
NEXT J
NEXT I
IF FLAG=0 THEN GOTO TIE
CHECK'FOR'COMPUTER'WIN:
FLAG = 0
FOR I = 1 TO 3
IF A(I,1)=2 AND A(I,2)=2 AND A(I,3)=2 THEN FLAG = 1
IF A(1,I)=2 AND A(2,I)=2 AND A(3,I)=2 THEN FLAG =1
NEXT I
IF A(1,1)=2 AND A(2,2)=2 AND A(3,3)=2 THEN FLAG = 1
IF A(3,1)=2 AND A(2,2)=2 AND A(1,3)=2 THEN FLAG = 1
IF FLAG=0 THEN GOTO HUMAN'MOVE