Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Text;
- namespace TicTacToe
- {
- class Utils
- {
- public static void Menu(ref string player1, ref string player2) //Tämä on pelin aloitusvalikko
- {
- Console.WriteLine("Haluatko pelata ristinollaa? Kyllä/Ei ");
- string line = Console.ReadLine();
- if (line == "Kyllä")
- {
- Console.WriteLine("Pelaajan 1 nimi: ");
- player1 = Console.ReadLine();
- Console.WriteLine("Pelaajan 2 nimi: ");
- player2 = Console.ReadLine();
- Console.WriteLine("{0} on X ja {1} on O", player1, player2);
- }
- else
- {
- Environment.Exit(0);
- }
- }
- public static void PrintBoard(ref string[,] Board) // Tämä metodi tulostaa pelilaudan
- {
- Console.WriteLine(" {0} | {1} | {2}", Board[0, 0], Board[0, 1], Board[0, 2]);
- Console.WriteLine("------------");
- Console.WriteLine(" {0} | {1} | {2}", Board[1, 0], Board[1, 1], Board[1, 2]);
- Console.WriteLine("------------");
- Console.WriteLine(" {0} | {1} | {2}", Board[2, 0], Board[2, 1], Board[2, 2]);
- }
- public static void Game(ref string[,] Board, string player1, string player2, ref int roundnum) // Tässä metodissa on itse peli
- {
- do
- {
- if (roundnum%2 == 0)
- {
- Console.WriteLine(player1 + ", sinun vuoro!");
- }
- else
- {
- Console.WriteLine(player2 + ", sinun vuoro!");
- }
- int playerChoice;
- do
- {
- Console.WriteLine("Mihin haluat asettaa merkin?");
- int.TryParse(Console.ReadLine(), out playerChoice);
- } while (!TakenOrNot(ref Board, playerChoice));
- AssignNum(ref Board, playerChoice, roundnum);
- PrintBoard(ref Board);
- roundnum++;
- } while (!CheckWinner(Board, player1, player2));
- }
- public static bool TakenOrNot(ref string[,] Board, int choice) //Tarkastaa onko pelaajan valitsema paikka vapaa vai ei, jos on palauttaa true
- {
- for (int i = 0; i < 3; i++)
- {
- for (int j = 0; j < 3; j++)
- {
- if (Board[i, j] == choice.ToString())
- {
- return true;
- }
- }
- }
- return false;
- }
- public static void AssignNum(ref string[,] Board, int choice, int roundnum) //Asettaa merkin
- {
- for (int i = 0; i < 3; i++)
- {
- for (int j = 0; j < 3; j++)
- {
- if (Board[i, j] == choice.ToString())
- {
- if (roundnum % 2 == 0)
- {
- Board[i, j] = "X";
- }
- else
- {
- Board[i, j] = "O";
- }
- }
- }
- }
- }
- public static bool CheckWinner(string[,] board, string player1, string player2) // Palauttaa true jos joku voittaa!
- {
- if(board[0, 0].Equals(board[0,1]) && board[0,1].Equals(board[0,2])) //poikittainen tarkistus
- {
- if(board[0,0] == "X")
- {
- Console.WriteLine("Onnea {0}, voitit pelin!", player1);
- }
- else
- {
- Console.WriteLine("Onnea {0}, voitit pelin!", player2);
- }
- return true;
- }
- else if (board[1, 0].Equals(board[1, 1]) && board[1, 1].Equals(board[1, 2])) //poikittainen tarkistus
- {
- if (board[1, 0] == "X")
- {
- Console.WriteLine("Onnea {0}, voitit pelin!", player1);
- }
- else
- {
- Console.WriteLine("Onnea {0}, voitit pelin!", player2);
- }
- return true;
- }
- else if (board[2, 0].Equals(board[2, 1]) && board[2, 1].Equals(board[2, 2])) //poikittainen tarkistus
- {
- if (board[2, 0] == "X")
- {
- Console.WriteLine("Onnea {0}, voitit pelin!", player1);
- }
- else
- {
- Console.WriteLine("Onnea {0}, voitit pelin!", player2);
- }
- return true;
- }
- else if (board[0, 0].Equals(board[1, 0]) && board[1, 0].Equals(board[2, 0])) //pitkittäinen tarkistus
- {
- if (board[0, 0] == "X")
- {
- Console.WriteLine("Onnea {0}, voitit pelin!", player1);
- }
- else
- {
- Console.WriteLine("Onnea {0}, voitit pelin!", player2);
- }
- return true;
- }
- else if (board[0, 1].Equals(board[1, 1]) && board[1, 1].Equals(board[2, 1])) //pitkittäinen tarkistus
- {
- if (board[0, 1] == "X")
- {
- Console.WriteLine("Onnea {0}, voitit pelin!", player1);
- }
- else
- {
- Console.WriteLine("Onnea {0}, voitit pelin!", player2);
- }
- return true;
- }
- else if (board[0, 2].Equals(board[1, 2]) && board[1, 2].Equals(board[2, 2])) //pitkittäinen tarkistus
- {
- if (board[0, 1] == "X")
- {
- Console.WriteLine("Onnea {0}, voitit pelin!", player1);
- }
- else
- {
- Console.WriteLine("Onnea {0}, voitit pelin!", player2);
- }
- return true;
- }
- else if (board[0, 0].Equals(board[1, 1]) && board[1, 1].Equals(board[2, 2])) //tarkistus ristiin
- {
- if (board[0, 0] == "X")
- {
- Console.WriteLine("Onnea {0}, voitit pelin!", player1);
- }
- else
- {
- Console.WriteLine("Onnea {0}, voitit pelin!", player2);
- }
- return true;
- }
- else if (board[0, 2].Equals(board[1, 1]) && board[1, 1].Equals(board[2, 0])) //tarkistus ristiin
- {
- if (board[0, 0] == "X")
- {
- Console.WriteLine("Onnea {0}, voitit pelin!", player1);
- }
- else
- {
- Console.WriteLine("Onnea {0}, voitit pelin!", player2);
- }
- return true;
- }
- else // peli vielä kesken, joten se jatkuu
- {
- return false;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement