public static string playerTurn = "X";
public static string[][] board = new string[][]
new string[] {" ", " ", " "},
new string[] {" ", " ", " "},
new string[] {" ", " ", " "}
public static void Main()
Console.WriteLine("\n{0,50}", "*****************************************");
Console.WriteLine("{0,45}", "Welcome to Tic-Tac-Toe game!");
Console.WriteLine("{0,50}", "*****************************************");
while (!CheckForWin() && !CheckForTie());
public static void GetInput()
Console.WriteLine("Player " + playerTurn);
Console.Write("Enter Row:");
int row = int.Parse(Console.ReadLine());
Console.Write("Enter Column:");
int column = int.Parse(Console.ReadLine());
public static void PlaceMark(int row, int column)
board[row][column] = playerTurn;
public static bool CheckForWin()
bool Winner = HorizontalWin() || VerticalWin() || DiagonalWin();
Console.WriteLine("\n\tCongratulations! You have Won!");
else if (playerTurn == "X")
public static bool CheckForTie()
if (board[0][0] != " " && board[0][1] != " " && board[0][2] != " " && board[1][0] != " " && board[1][1] != " " && board[1][2] != " " && board[2][0] != " " && board[2][1] != " " && board[2][2] != " ")
Console.WriteLine("\n\tIt's a tie! Press any Key to continue.");
public static bool HorizontalWin()
bool HorizontalWinner = false;
if (board[0][0] == playerTurn && board[0][1] == playerTurn && board[0][2] == playerTurn)
if (board[1][0] == playerTurn && board[1][1] == playerTurn && board[1][2] == playerTurn)
if (board[2][0] == playerTurn && board[2][1] == playerTurn && board[2][2] == playerTurn)
public static bool VerticalWin()
bool VerticalWinner = false;
if (board[0][0] == playerTurn && board[1][0] == playerTurn && board[2][0] == playerTurn)
if (board[0][1] == playerTurn && board[1][1] == playerTurn && board[2][1] == playerTurn)
if (board[0][2] == playerTurn && board[1][2] == playerTurn && board[2][2] == playerTurn)
public static bool DiagonalWin()
bool DiagonalWinner = false;
if (board[0][0] == playerTurn && board[1][1] == playerTurn && board[2][2] == playerTurn)
if (board[0][2] == playerTurn && board[1][1] == playerTurn && board[2][0] == playerTurn)
public static void DrawBoard()
Console.WriteLine(" 0 1 2");
Console.WriteLine("0 " + String.Join("|", board[0]));
Console.WriteLine(" -----");
Console.WriteLine("1 " + String.Join("|", board[1]));
Console.WriteLine(" -----");
Console.WriteLine("2 " + String.Join("|", board[2]));