Advertisement
RageMode

Tic Tac Toe

Jun 16th, 2016
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 4.17 KB | None | 0 0
  1. Inhalt der main.cmd
  2. @echo off
  3. title Tic Tac Toe
  4. :laufwerk
  5. set /p l=Laufwerksbuchstabe:
  6.  
  7. :set_value0
  8. set /A z1=1
  9. set /A z2=2
  10. set /A z3=3
  11. set /A z4=4
  12. set /A z5=5
  13. set /A z6=6
  14. set /A z7=7
  15. set /A z8=8
  16. set /A z9=9
  17. set X=Player1
  18. set O=Player2
  19. set /a winner=0
  20. set /a tie=0
  21.  
  22. :main_menu
  23. cls
  24. echo +++++++++++++++++++++++++++
  25. echo.
  26. echo         Tic Tac Toe
  27. echo          Main menu
  28. echo.
  29. echo +++++++++++++++++++++++++++
  30. echo.
  31.  
  32. set /p newgame=Start a new game? [J/N]
  33. if %newgame%==J goto new_game
  34. if %newgame%==j goto new_game
  35. if %newgame%==N goto so_what
  36. if %newgame%==n goto so_what
  37. if %newgame%==c goto command
  38. goto main_menu
  39.  
  40. :so_what
  41. echo Really? You start a file named 'Tic Tac Toe.cmd' and don't want to play?
  42. pause >nul
  43. goto end
  44.  
  45. :new_game
  46.  
  47.  
  48.  
  49. :name
  50. set /p X=Name for Player1 [X]:
  51. set /p O=Name for Player2 [O]:
  52.  
  53. :field_p1
  54. call "%l%:\test\Tic Tac Toe\check_winner.cmd"
  55. call "%l%:\test\Tic Tac Toe\check_tie.cmd"
  56. if not %winner%==0 goto winner
  57. cls
  58. set fieldp2=0
  59. echo Your turn %X%
  60. echo %z1% %z2% %z3%
  61. echo %z4% %z5% %z6%
  62. echo %z7% %z8% %z9%
  63.  
  64. set /p fieldp1=%X% choose the field you want to set
  65. if %fieldp1%==%z1% (set z1=X
  66.                      goto field_p2)
  67. if %fieldp1%==%z2% (set z2=X
  68.                      goto field_p2)
  69. if %fieldp1%==%z3% (set z3=X
  70.                      goto field_p2)
  71. if %fieldp1%==%z4% (set z4=X
  72.                      goto field_p2)
  73. if %fieldp1%==%z5% (set z5=X
  74.                      goto field_p2)
  75. if %fieldp1%==%z6% (set z6=X
  76.                      goto field_p2)
  77. if %fieldp1%==%z7% (set z7=X
  78.                      goto field_p2)
  79. if %fieldp1%==%z8% (set z8=X
  80.                      goto field_p2)
  81. if %fieldp1%==%Z9% (set z9=X
  82.                      goto field_p2)
  83. goto field_p1
  84.  
  85. :field_p2
  86. call "%l%:\test\Tic Tac Toe\check.cmd"
  87. call "%l%:\test\Tic Tac Toe\check_tie.cmd"
  88. if NOT %winner%==0 goto winner
  89. cls
  90. set fieldp2=0
  91. echo Your turn %O%
  92. echo %z1% %z2% %z3%
  93. echo %z4% %z5% %z6%
  94. echo %z7% %z8% %z9%
  95.  
  96. set /p fieldp2=%O% choose the field you want to set
  97. if %fieldp2%==%z1% (set z1=O
  98.                      goto field_p1)
  99. if %fieldp2%==%z2% (set z2=O
  100.                      goto field_p1)
  101. if %fieldp2%==%z3% (set z3=O
  102.                      goto field_p1)
  103. if %fieldp2%==%z4% (set z4=O
  104.                      goto field_p1)
  105. if %fieldp2%==%z5% (set z5=O
  106.                      goto field_p1)
  107. if %fieldp2%==%z6% (set z6=O
  108.                      goto field_p1)
  109. if %fieldp2%==%z7% (set z7=O
  110.                      goto field_p1)
  111. if %fieldp2%==%z8% (set z8=O
  112.                      goto field_p1)
  113. if %fieldp2%==%Z9% (set z9=O
  114.                      goto field_p1)
  115. goto field_p2
  116.  
  117. :winner
  118. if %winner%==X goto winner_x
  119. if %winner%==O goto winner_o
  120. echo Sorry an error ocurred
  121. pause >nul
  122. goto set_value0
  123.  
  124. :winner_x
  125. cls
  126. echo Congrats %X% you won!
  127. echo %z1% %z2% %z3%
  128. echo %z4% %z5% %z6%
  129. echo %z7% %z8% %z9%
  130. pause >nul
  131. goto savegame
  132.  
  133. :winner_o
  134. cls
  135. echo Congrats %O% you won!
  136. echo %z1% %z2% %z3%
  137. echo %z4% %z5% %z6%
  138. echo %z7% %z8% %z9%
  139. pause >nul
  140. goto savegame
  141.  
  142. :savegame
  143. set /p s=Do you want to save the result?
  144. if %s%==J goto save
  145. if %s%==j goto save
  146. if %s%==N goto main_menu
  147. if %s%==n goto main_menu
  148. goto savegame
  149.  
  150. :save
  151. (
  152. echo %X%[X] vs. %O%[O]
  153. echo %z1% %z2% %z3%
  154. echo %z4% %z5% %z6%
  155. echo %z7% %z8% %z9%
  156. ) > "%l%:\test\Tic Tac Toe\saves\%X%_vs_%O%.txt"
  157. cls
  158. echo Your game result has been saved!
  159. pause >nul
  160. goto set_value0
  161.  
  162. :command
  163. set /p c=
  164. %c%
  165. goto command
  166.  
  167. :end
  168.  
  169. ---------------------------------------------------------
  170. Inhalt der check_tie.cmd
  171. @echo off
  172. if NOT %z1%==1 (
  173.     if NOT %z2%==2 (
  174.         if NOT %z3%==3 (
  175.             if NOT %z4%==4 (
  176.                 if NOT %z5%==5(
  177.                     if NOT %z6%==6 (
  178.                         if NOT %z7%==7 (
  179.                             if NOT %z8%==8 (
  180.                                 if NOT %z9%==9 (
  181.                                 set tie=1
  182.                                 )
  183.                             )
  184.                         )
  185.                     )
  186.                 )
  187.             )
  188.         )
  189.     )
  190. )
  191.  
  192. ---------------------------------------------------
  193. Inhalt der check_winner.cmd
  194. @echo off
  195. set /a winner=0
  196. if %z1%==%z2% (
  197.     if %z2%==%z3% set winner=%z1%
  198. )
  199. if %z4%==%z5% (
  200.     if %z5%==%z6% set winner=%z4%
  201. )
  202. if %z7%==%z8% (
  203.     if %z8%==%z9% set winner=%z7%
  204. )
  205. if %z1%==%z4% (
  206.     if %z4%==%z7% set winner=%z1%
  207. )
  208. if %z2%==%z5% (
  209.     if %z5%==%z8% set winner=%z2%
  210. )
  211. if %z3%==%z6% (
  212.     if %z6%==%z9% set winner=%z3%
  213. )
  214. if %z3%==%z5% (
  215.     if %z5%==%z7% set winner=%z3%
  216. )
  217. if %z1%==%z5% (
  218.     if %z5%==%z9% set winner=%z1%
  219. )
  220.  
  221. -----------------------------------------
  222. Inhalt der command.cmd (optional)
  223. @echo off
  224. :start
  225. set /p jn=
  226. %jn%
  227. goto start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement