2 T5=5 3 H9=0 : M9=0 : T9=0 4 N$="-" 5 B$(1)="1" : B$(2)="2" : B$(3)="3" : B$(4)="4" : B$(5)="5" 6 B$(6)="6" : B$(7)="7" : B$(8)="8" : B$(9)="9" 7 V(I)=0 FOR I=1 TO 9 8 IF T9=0 THEN GOTO 15 ELSE IF T9=1 THEN GOTO 10 ELSE IF T9=-1 THEN GOTO 12 10 PRINT "YOUR TURN TO GO FIRST" : T9=-1 : GOTO 100 12 PRINT "MY TURN TO START" : T9=1 : GOTO 1000 15 PRINT "NOUGHTS AND CROSSES" 20 INPUT "DO YOU WANNA GO FIRST";A$ 30 IF A$="YEAH" OR A$="NAH" THEN GOTO 40 ELSE PRINT "ANSWER PROPER !! YEAH OR NAH ?" 35 GOTO 20 40 IF A$="YEAH" THEN GOTO 90 42 T9=1 : GOTO 1000 90 T9=-1 100 GOSUB 800 110 ! ANY MOVES LEFT ? 112 GOSUB 950 : IF W=1 THEN GOTO 114 ELSE GOTO 1890 114 INPUT "O.K. YOUR MOVE";M 115 IF M>=1 AND M<=9 THEN GOTO 125 ELSE PRINT"WHADYA SAY ?" 120 INPUT M : GOTO 115 125 IF V(M)=0 GOTO 140 ELSE PRINT"ITS ALREADY TAKEN, YA NUNG!" 130 INPUT"TRY AGAIN";M : GOTO 115 140 V(M)=1 : B$(M)="+" 145 GOSUB 800 150 T=1 : GOSUB 850 !HAS HE WON ? 155 IF W=1 THEN GOTO 1880 ELSE GOTO 1000 800 ! PRINT THE CURRENT BOARD DISPLAY 810 PRINT 815 PRINT B$(1)+" : "+B$(2)+" : "+B$(3) 820 PRINT B$(4)+" : "+B$(5)+" : "+B$(6) 825 PRINT B$(7)+" : "+B$(8)+" : "+B$(9) 830 PRINT 835 PRINT : RETURN 850 W=0 ! FIND OUT IF T HAS WON - IF YES W=1 855 IF V(5)<>T THEN GOTO 870 860 FOR I=1 TO 4 861 IF V(I)=T AND V(10-I)=T THEN GOTO 880 862 NEXT I 870 IF V(1)=T AND V(2)=T AND V(3)=T THEN GOTO 880 ELSE IF V(3)=T AND V(6)=T AND V(9)=T THEN GOTO 880 ELSE IF V(9)=T AND V(8)=T AND V(7)=T THEN GOTO 880 ELSE IF V(7)=T AND V(4)=T AND V(1)=T THEN GOTO 880 875 RETURN 880 W=1 : RETURN 900 ! FIND OUT IF T CAN WIN - IF YES SET W=SPOT # 902 W=0 904 FOR I=1 TO 7 STEP 3 905 IF V(I)+V(I+1)+V(I+2)=2*T THEN GOTO 910 906 NEXT I 907 GOTO 920 910 IF V(I)=0 THEN W=I ELSE IF V(I+1)=0 THEN W=I+1 ELSE IF V(I+2)=0 THEN W=I+2 915 RETURN 920 FOR I=1 TO 3 921 IF V(I)+V(I+3)+V(I+6)=2*T THEN GOTO 925 922 NEXT I 923 GOTO 935 925 IF V(I)=0 THEN W=I ELSE IF V(I+3)=0 THEN W=I+3 ELSE IF V(I+6)=0 THEN W=I+6 930 RETURN 935 FOR I=1 TO 3 STEP 2 936 IF V(I)+V(5)+V(10-I)=2*T THEN GOTO 940 937 NEXT I 938 RETURN 940 IF V(I)=0 THEN W=I ELSE IF V(5)=0 THEN W=5 ELSE IF V(10-I)=0 THEN W=10-I 945 RETURN 950 !FIND OUT IF ANY FREE SPOTS LEFT - SET W=1 IF SO 955 FOR I=1 TO 9 956 IF V(I)=0 GOTO 965 957 NEXT I 960 W=0 : RETURN 965 W=1 : RETURN 1000 ! COMPUTER'S TURN 1010 ! FIRST ANY MOVES LEFT ? 1012 GOSUB 950 : IF W=1 THEN GOTO 1013 ELSE GOTO 1890 1013 PRINT "O.K. MY TURN" 1015 T=-1 : GOSUB 900 ! ANY WINNING SHOTS AVAILABLE ? 1020 IF W=0 THEN GOTO 1030 ELSE V(W)=-1 : B$(W)=N$ 1021 SLEEP(T5) 1022 PRINT "LOOKS LIKE I'VE GOT YA, I'LL TAKE";W 1025 GOSUB 800 : GOTO 1880 1030 ! WELL I CAN'T WIN BUT CAN I BLOCK A WIN ? 1035 T=1 : GOSUB 900 ! ANY WINNING SHOTS AVAILABLE TO HUMAN ? 1040 IF W=0 THEN GOTO 1060 ELSE V(W)=-1 : B$(W)=N$ 1041 SLEEP(T5) 1042 PRINT "I THINK I BETTER HAVE";W 1045 GOSUB 800 : GOTO 110 1060 ! O.K. TAKE A FREE POSITION 1062 T1=0 1064 T1=T1+1 1065 M=INT(RND(1)*10) : IF V(M)<>0 THEN GOTO 1065 1066 IF M=0 THEN GOTO 1065 1069 V(M)=-1 : T=-1 : GOSUB 900 ! TRY IT OUT 1070 IF W<>0 OR T1>7 THEN GOTO 1074 1071 V(M)=0 : GOTO 1064 ! TRY FOR A BETTER SHOT 1074 SLEEP(T5/1.5) : PRINT "I'LL TAKE ";M : B$(M)=N$ 1075 GOSUB 800 : GOTO 110 1880 IF T=1 THEN PRINT"YOU WON" ELSE PRINT"I WON" 1885 IF T=1 THEN H9=H9+1 ELSE M9=M9+1 1886 PRINT "THE SCORE IS NOW:";H9;" TO YOU AND";M9;"TO ME" 1887 GOTO 2000 1890 PRINT "LOOKS LIKE A DRAW" 1891 PRINT "SO THE SCORE IS STILL:";H9;"TO YOU,";M9;"TO ME " 1892 INPUT "WANNA KEEP PLAYIN";A$ : GOTO 2010 2000 IF T=1 THEN GOTO 1892 2001 INPUT "WANNA NOTHER GAME OR ARE YA TOO SCARED ?";A$ 2010 IF LEFT(A$,2)="YE" THEN GOTO 5 2015 PRINT "THANKS FOR PLAYIN - SEE YA" 3000 END