home *** CD-ROM | disk | FTP | other *** search
/ ftp.whtech.com / ftp.whtech.com.tar / ftp.whtech.com / club100 / gam / tictak.ba < prev    next >
Text File  |  2006-10-19  |  3KB  |  105 lines

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