home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.whtech.com
/
ftp.whtech.com.tar
/
ftp.whtech.com
/
club100
/
gam
/
tictak.ba
< prev
next >
Wrap
Text File
|
2006-10-19
|
3KB
|
105 lines
0 ' *TIKTAK.BA* - AUTHOR UNKNOWN
1 'CLUB 100 LIBRARY - 415/939-1246 BBS, 937-5039 NEWSLETTER, 932-8856 VOICE
2 CLS:DEFINTA-Z:PRINT:PRINT:PRINT:PRINT:PRINTTAB(14)"TIC-TAC-TOE":PRINT:PRINT:FORX=1TO5000:NEXT:CLS:CLEAR:DIMS(9):CL$=CHR$(27)+CHR$(75):PRINT:PRINT"Do you want 'X' or 'O' ?";
3 C$=INKEY$:IFC$=""THEN3ELSEIFC$<>"X"ANDC$<>"O"THEN3ELSEPRINTC$:CLS:GOSUB103
4 IFC$="X"THEN65
5 P$="O":Q$="X"
6 G=-1:H=1:IFS(5)<>0THEN8
7 S(5)=-1:GOTO59
8 IFS(5)<>1THEN11
9 IFS(1)<>0THEN15
10 S(1)=-1:GOTO59
11 IFS(2)=1ANDS(1)=0THEN54
12 IFS(4)=1ANDS(1)=0THEN54
13 IFS(6)=1ANDS(9)=0THEN58
14 IFS(8)=1ANDS(9)=0THEN58
15 IFG=1THEN17
16 GOTO21
17 J=3*INT((M-1)/3)+1:IF3*INT((M-1)/3)+1=MTHENK=1
18 IF3*INT((M-1)/3)+2=MTHENK=2
19 IF3*INT((M-1)/3)+3=MTHENK=3
20 GOTO22
21 FORJ=1TO7STEP3:FORK=1TO3
22 IFS(J)<>GTHEN26
23 IFS(J+2)<>GTHEN30
24 IFS(J+1)<>0THEN33
25 S(J+1)=-1:GOTO59
26 IFS(J)=HTHEN33
27 IFS(J+2)<>GTHEN33
28 IFS(J+1)<>GTHEN33
29 S(J)=-1:GOTO59
30 IFS(J+2)<>0THEN33
31 IFS(J+1)<>GTHEN33
32 S(J+2)=-1:GOTO59
33 IFS(K)<>GTHEN37
34 IFS(K+6)<>GTHEN41
35 IFS(K+3)<>0THEN44
36 S(K+3)=-1:GOTO59
37 IFS(K)=HTHEN44
38 IFS(K+6)<>GTHEN44
39 IFS(K+3)<>GTHEN44
40 S(K)=-1:GOTO59
41 IFS(K+6)<>0THEN44
42 IFS(K+3)<>GTHEN44
43 S(K+6)=-1:GOTO59
44 GOTO60
45 IFS(3)=GANDS(7)=0THEN57
46 IFS(9)=GANDS(1)=0THEN54
47 IFS(7)=GANDS(3)=0THEN56
48 IFS(9)=0ANDS(1)=GTHEN58
49 IFG=-1THENG=1:H=-1:GOTO15
50 IFS(9)=1ANDS(3)=0THEN55
51 FORI=2TO9:IFS(I)<>0THEN53
52 S(I)=-1:GOTO59
53 NEXTI
54 S(1)=-1:GOTO59
55 IFS(2)=1THEN51
56 S(3)=-1:GOTO59
57 S(7)=-1:GOTO59
58 S(9)=-1
59 PRINT@200,CL$;"The computer moves to....":GOSUB73:GOTO66
60 IFG=1THEN63
61 IFJ=7ANDK=3THEN63
62 NEXTK,J
63 IFS(5)=GTHEN45
64 GOTO49
65 P$="X":Q$="O"
66 PRINT@200,CL$;"Where do you want your '";P$;"'? ";
67 M$=INKEY$:IFM$=""THEN67ELSEM=VAL(M$):PRINTM$
68 IFM=0THENPRINT"Thanks for the game":GOTO100
69 IFM>9THEN71
70 IFS(M)=0THEN72
71 PRINT@200,CL$;"THAT SQUARE IS OCCUPIED !!!";:FORX=1TO1000:NEXT:GOTO66
72 G=1:S(M)=1:GOSUB73:GOTO6
73 PRINTCHR$(11);:FORI=1TO9:PRINT" ";:IFS(I)<>-1THEN75
74 CP=I:PRINTQ$" ";:GOTO78
75 IFS(I)<>0THEN77
76 PRINT" ";:GOTO78
77 PRINTP$" ";
78 IFI<>3ANDI<>6THEN80
79 PRINT:PRINT"---+---+---":GOTO82
80 IFI=9THEN82
81 PRINT"!";
82 NEXTI:PRINT:FORI=1TO7STEP3:IFS(I)<>S(I+1)THEN86
83 IFS(I)<>S(I+2)THEN86
84 IFS(I)=-1THEN98
85 IFS(I)=1THEN97
86 NEXTI:FORI=1TO3:IFS(I)<>S(I+3)THEN90
87 IFS(I)<>S(I+6)THEN90
88 IFS(I)=-1THEN98
89 IFS(I)=1THEN97
90 NEXTI:IFS(5)<>GTHEN93
91 IFS(1)=GANDS(9)=GTHEN96
92 IFS(3)=GANDS(7)=GTHEN96
93 FORI=1TO9:IFS(I)=0THEN95
94 NEXTI:GOTO99
95 RETURN
96 IFG=-1THEN98
97 PRINT@200,CL$;"YOU BEAT ME!! GOOD GAME":GOTO100
98 PRINT@200,CL$;"I WIN, TURKEY!!!":GOTO100
99 PRINT@200,CL$;"It's a draw. Thank you."
100 FORX=1TO1000:NEXT:PRINT"Do you want another game ?";
101 A$=INKEY$:IFA$=""THEN101ELSEPRINTA$;
102 IFLEFT$(A$,1)="Y"THENRUNELSEMENU
103 PRINT@65," THE BOARD ":PRINT@105,"1 2 3":PRINT@145,"4 5 6":PRINT@185,"7 8 9":RETURN:END