static Boolean game = true;
static Boolean play1 = true;
static Boolean replay = true;
public static void Main()
String[, ] board = new String[, ]{{"1", "2", "3"}, {"4", "5", "6"}, {"7", "8", "9"}};
Console.WriteLine("where do you want to play: ");
position = int.Parse(Console.ReadLine());
play(board, position, player);
Console.WriteLine("p" + player);
Check_Winner(board, player, turn);
Console.Write(" Play Again [1] Quit [2]: ");
int ch = int.Parse(Console.ReadLine());
static void Check_Winner(String[, ] b, int player, int turn)
Console.WriteLine("p " + player);
if ((b[0, 0].Equals("X")) && (b[0, 1].Equals("X")) && (b[0, 2].Equals("X")) || (b[0, 0].Equals("O")) && (b[0, 1].Equals("O")) && (b[0, 2].Equals("O")))
Console.WriteLine("Congrats Player 1");
Console.WriteLine("Congrats Player 2");
else if ((b[0, 0].Equals("X")) && (b[1, 0].Equals("X")) && (b[2, 0].Equals("X")) || (b[0, 0].Equals("O")) && (b[1, 0].Equals("O")) && (b[2, 0].Equals("O")))
Console.WriteLine("Congrats Player 1");
Console.WriteLine("Congrats Player 2");
else if ((b[1, 0].Equals("X")) && (b[1, 1].Equals("X")) && (b[1, 2].Equals("X")) || (b[0, 0].Equals("O")) && (b[0, 1].Equals("O")) && (b[0, 2].Equals("O")))
Console.WriteLine("Congrats Player 1");
Console.WriteLine("Congrats Player 2");
else if ((b[2, 0].Equals("X")) && (b[2, 1].Equals("X")) && (b[2, 2].Equals("X")) || (b[2, 0].Equals("O")) && (b[2, 1].Equals("O")) && (b[2, 2].Equals("O")))
Console.WriteLine("Congrats Player 1");
Console.WriteLine("Congrats Player 2");
else if ((b[0, 2].Equals("X")) && (b[1, 2].Equals("X")) && (b[2, 2].Equals("X")) || (b[0, 2].Equals("O")) && (b[1, 2].Equals("O")) && (b[2, 2].Equals("O")))
Console.WriteLine("Congrats Player 1");
Console.WriteLine("Congrats Player 2");
else if ((b[2, 0].Equals("X")) && (b[1, 1].Equals("X")) && (b[0, 2].Equals("X")) || (b[2, 0].Equals("O")) && (b[1, 1].Equals("O")) && (b[0, 2].Equals("O")))
Console.WriteLine("Congrats Player 1");
Console.WriteLine("Congrats Player 2");
Console.WriteLine("This is a cats game");
static void printboard(String[, ] b)
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
Console.Write(b[i, j] + " ");
static void resetboard(String[, ] b)
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
b[i, j] = ((i * 3) + j + 1).ToString();
static void play(String[, ] b, int pos, int player)
if (pos == 1 && b[0, 0].Equals("1"))
else if (pos == 2 && b[0, 1].Equals("2"))
else if (pos == 3 && b[0, 2].Equals("3"))
else if (pos == 4 && b[1, 0].Equals("4"))
else if (pos == 5 && b[1, 1].Equals("5"))
else if (pos == 6 && b[1, 2].Equals("6"))
else if (pos == 7 && b[2, 0].Equals("7"))
else if (pos == 8 && b[2, 1].Equals("8"))
else if (pos == 9 && b[2, 2].Equals("9"))