Advertisement
Guest User

Untitled

a guest
Dec 13th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.25 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4.  
  5. namespace TicTacToe
  6. {
  7. class Utils
  8. {
  9.  
  10. public static void Menu(ref string player1, ref string player2) //Tämä on pelin aloitusvalikko
  11. {
  12. Console.WriteLine("Haluatko pelata ristinollaa? Kyllä/Ei ");
  13. string line = Console.ReadLine();
  14. if (line == "Kyllä")
  15. {
  16. Console.WriteLine("Pelaajan 1 nimi: ");
  17. player1 = Console.ReadLine();
  18. Console.WriteLine("Pelaajan 2 nimi: ");
  19. player2 = Console.ReadLine();
  20. Console.WriteLine("{0} on X ja {1} on O", player1, player2);
  21. }
  22. else
  23. {
  24. Environment.Exit(0);
  25. }
  26. }
  27.  
  28. public static void PrintBoard(ref string[,] Board) // Tämä metodi tulostaa pelilaudan
  29. {
  30. Console.WriteLine(" {0} | {1} | {2}", Board[0, 0], Board[0, 1], Board[0, 2]);
  31. Console.WriteLine("------------");
  32. Console.WriteLine(" {0} | {1} | {2}", Board[1, 0], Board[1, 1], Board[1, 2]);
  33. Console.WriteLine("------------");
  34. Console.WriteLine(" {0} | {1} | {2}", Board[2, 0], Board[2, 1], Board[2, 2]);
  35. }
  36.  
  37. public static void Game(ref string[,] Board, string player1, string player2, ref int roundnum) // Tässä metodissa on itse peli
  38. {
  39.  
  40. do
  41. {
  42. if (roundnum%2 == 0)
  43. {
  44. Console.WriteLine(player1 + ", sinun vuoro!");
  45. }
  46. else
  47. {
  48. Console.WriteLine(player2 + ", sinun vuoro!");
  49. }
  50. int playerChoice;
  51. do
  52. {
  53. Console.WriteLine("Mihin haluat asettaa merkin?");
  54. int.TryParse(Console.ReadLine(), out playerChoice);
  55. } while (!TakenOrNot(ref Board, playerChoice));
  56. AssignNum(ref Board, playerChoice, roundnum);
  57.  
  58. PrintBoard(ref Board);
  59. roundnum++;
  60. } while (!CheckWinner(Board, player1, player2));
  61. }
  62.  
  63. public static bool TakenOrNot(ref string[,] Board, int choice) //Tarkastaa onko pelaajan valitsema paikka vapaa vai ei, jos on palauttaa true
  64. {
  65.  
  66. for (int i = 0; i < 3; i++)
  67. {
  68. for (int j = 0; j < 3; j++)
  69. {
  70. if (Board[i, j] == choice.ToString())
  71. {
  72. return true;
  73. }
  74. }
  75. }
  76. return false;
  77.  
  78. }
  79.  
  80. public static void AssignNum(ref string[,] Board, int choice, int roundnum) //Asettaa merkin
  81. {
  82. for (int i = 0; i < 3; i++)
  83. {
  84. for (int j = 0; j < 3; j++)
  85. {
  86. if (Board[i, j] == choice.ToString())
  87. {
  88. if (roundnum % 2 == 0)
  89. {
  90. Board[i, j] = "X";
  91. }
  92. else
  93. {
  94. Board[i, j] = "O";
  95. }
  96. }
  97. }
  98. }
  99. }
  100.  
  101. public static bool CheckWinner(string[,] board, string player1, string player2) // Palauttaa true jos joku voittaa!
  102. {
  103. if(board[0, 0].Equals(board[0,1]) && board[0,1].Equals(board[0,2])) //poikittainen tarkistus
  104. {
  105. if(board[0,0] == "X")
  106. {
  107. Console.WriteLine("Onnea {0}, voitit pelin!", player1);
  108. }
  109. else
  110. {
  111. Console.WriteLine("Onnea {0}, voitit pelin!", player2);
  112. }
  113. return true;
  114. }
  115. else if (board[1, 0].Equals(board[1, 1]) && board[1, 1].Equals(board[1, 2])) //poikittainen tarkistus
  116. {
  117. if (board[1, 0] == "X")
  118. {
  119. Console.WriteLine("Onnea {0}, voitit pelin!", player1);
  120. }
  121. else
  122. {
  123. Console.WriteLine("Onnea {0}, voitit pelin!", player2);
  124. }
  125. return true;
  126. }
  127. else if (board[2, 0].Equals(board[2, 1]) && board[2, 1].Equals(board[2, 2])) //poikittainen tarkistus
  128. {
  129. if (board[2, 0] == "X")
  130. {
  131. Console.WriteLine("Onnea {0}, voitit pelin!", player1);
  132. }
  133. else
  134. {
  135. Console.WriteLine("Onnea {0}, voitit pelin!", player2);
  136. }
  137. return true;
  138. }
  139. else if (board[0, 0].Equals(board[1, 0]) && board[1, 0].Equals(board[2, 0])) //pitkittäinen tarkistus
  140. {
  141. if (board[0, 0] == "X")
  142. {
  143. Console.WriteLine("Onnea {0}, voitit pelin!", player1);
  144. }
  145. else
  146. {
  147. Console.WriteLine("Onnea {0}, voitit pelin!", player2);
  148. }
  149. return true;
  150. }
  151. else if (board[0, 1].Equals(board[1, 1]) && board[1, 1].Equals(board[2, 1])) //pitkittäinen tarkistus
  152. {
  153. if (board[0, 1] == "X")
  154. {
  155. Console.WriteLine("Onnea {0}, voitit pelin!", player1);
  156. }
  157. else
  158. {
  159. Console.WriteLine("Onnea {0}, voitit pelin!", player2);
  160. }
  161. return true;
  162. }
  163. else if (board[0, 2].Equals(board[1, 2]) && board[1, 2].Equals(board[2, 2])) //pitkittäinen tarkistus
  164. {
  165. if (board[0, 1] == "X")
  166. {
  167. Console.WriteLine("Onnea {0}, voitit pelin!", player1);
  168. }
  169. else
  170. {
  171. Console.WriteLine("Onnea {0}, voitit pelin!", player2);
  172. }
  173. return true;
  174. }
  175. else if (board[0, 0].Equals(board[1, 1]) && board[1, 1].Equals(board[2, 2])) //tarkistus ristiin
  176. {
  177. if (board[0, 0] == "X")
  178. {
  179. Console.WriteLine("Onnea {0}, voitit pelin!", player1);
  180. }
  181. else
  182. {
  183. Console.WriteLine("Onnea {0}, voitit pelin!", player2);
  184. }
  185. return true;
  186. }
  187. else if (board[0, 2].Equals(board[1, 1]) && board[1, 1].Equals(board[2, 0])) //tarkistus ristiin
  188. {
  189. if (board[0, 0] == "X")
  190. {
  191. Console.WriteLine("Onnea {0}, voitit pelin!", player1);
  192. }
  193. else
  194. {
  195. Console.WriteLine("Onnea {0}, voitit pelin!", player2);
  196. }
  197. return true;
  198. }
  199. else // peli vielä kesken, joten se jatkuu
  200. {
  201. return false;
  202. }
  203. }
  204. }
  205. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement