1 F=FILE()+1:IFG=1G=0:GOSUB12:IFZ>24ORQGOTO28 ELSEIFRLRUNF 2 G=0:GOSUB7:G=1:GOSUB12:IFQGOTO28 3 IFRGOTO2 ELSELRUNF 4 LC16*G,2:IFG?"[CPU]"ELSE?"[YOU]" 5 FORY=0TO4:FORX=0TO4:N=[G*25+X+Y*5]:LC16*G+X*3,Y*2+4:IFN<1C=45-188*N:?CHR$(C,C)ELSEIFN>9?NELSE?" ";N 6 NEXT:NEXT:RETURN 7 FORY=15TO22:LC0,Y:?" ":NEXT:LC0,15:INPUT"Erase No.=?",D:IFD<1ORD>25GOTO7 8 GOSUB10:IFU<0GOTO7 9 [A]=0:GOSUB4:RETURN 10 U=-1:FORY=0TO4:FORX=0TO4:N=[G*25+X+Y*5]:IFD=NU=X:V=Y 11 NEXT:NEXT:A=U+V*5:RETURN 12 GOSUB10:[G*25+A]=-1:IF!GGOSUB4 13 LC0,16:R=0 14 E=1:S=0:Y=V:FORX=0TO4:GOSUB25:NEXT:GOSUB19 15 E=1:S=0:X=U:FORY=0TO4:GOSUB25:NEXT:GOSUB19 16 C=[K+U+V*5]:IFC&1GOSUB23:GOSUB19 17 IFC&2GOSUB24:GOSUB19 18 Z=Z+1:WAIT60:RETURN 19 IFS<4OR!EORQRETURN 20 BEEP:IFG?"*CPU ";ELSE?"*YOU "; 21 IFS=5?"WIN!*":G=1:GOSUB4:Q=1:RETURN 22 ?"REACH!*":R=1:RETURN 23 E=1:S=0:FORX=0TO4:Y=X:GOSUB25:NEXT:RETURN 24 E=1:S=0:FORY=0TO4:X=4-Y:GOSUB25:NEXT:RETURN 25 N=[G*25+X+Y*5]:IF!NE=0 26 IFN=-1S=S+1 27 RETURN 28 LC0,20:IF!Q?"=DRAW=" 29 END