public static void Main()
int n11, n12, n13, n21, n22, n23, n31, n32, n33;
Console.Write("Enter the first number:");
n11 = Convert.ToInt32(Console.ReadLine());
while (n11 < 1 || n11 > 9)
Console.WriteLine("n11 should be between 1 and 9. enter a new value for n11: ");
n11 = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter the second number: ");
n12 = Convert.ToInt32(Console.ReadLine());
while (n11 == n12 || n12 < 1 || n12 > 9)
if (n11 != n12 && n12 <= 9 && n12 >= 1)
Console.Write("n12 should be different from n11 and between 1 and 9. enter a new value for n12: ");
n12 = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter the third number:");
n13 = Convert.ToInt32(Console.ReadLine());
while (n13 == n11 || n13 == n12 || n13 < 1 || n13 >= 9)
if (n13 != n11 && n13 != n12 && n13 <= 9 && n13 >= 1)
Console.Write("please enter a new value which different from other values and between 1 and 9:");
n13 = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter the fourth number:");
n21 = Convert.ToInt32(Console.ReadLine());
while (n21 == n11 || n21 == n12 || n21 == n13 || n21 < 1 || n21 >= 9)
if (n21 != n11 & n21 != n12 & n21 != n13 && n21 <= 9 && n21 >= 1)
Console.Write("please enter a new value which different from other values and between 1 and 9:");
n21 = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter the fifth number:");
n22 = Convert.ToInt32(Console.ReadLine());
while (n22 == n11 || n22 == n12 || n22 == n13 || n22 == n21 || n22 < 1 || n22 > 9)
if (n22 != n11 && n22 != n12 && n22 != n13 && n22 != n21 && n22 <= 9 && n22 >= 1)
Console.Write("please enter a new value which different from other values and between 1 and 9:");
n22 = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter the sixth number:");
n23 = Convert.ToInt32(Console.ReadLine());
while (n23 == n11 || n23 == n12 || n23 == n13 || n23 == n21 || n23 == n22 || n23 < 1 || n23 > 9)
if (n23 != n11 && n23 != n12 && n23 != n13 && n23 != n21 && n23 != n22 && n23 <= 9 && n23 >= 1)
Console.Write("please enter a new value which different from other values and between 1 and 9:");
n23 = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter the seventh number:");
n31 = Convert.ToInt32(Console.ReadLine());
while (n31 == n11 || n31 == n12 || n31 == n13 || n31 == n21 || n31 == n22 || n31 == n23 || n31 < 1 || n31 > 9)
if (n31 != n11 && n31 != n12 && n31 != n13 && n31 != n21 && n31 != n22 && n31 != n23 && n31 <= 9 && n31 >= 1)
Console.Write("please enter a new value which different from other values and between 1 and 9:");
n31 = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter the eighth number:");
n32 = Convert.ToInt32(Console.ReadLine());
while (n32 == n11 || n32 == n12 || n32 == n13 || n32 == n21 || n32 == n22 || n32 == n23 || n32 == n31 || n32 < 1 || n32 > 9)
if (n32 != n11 && n32 != n12 && n32 != n13 && n32 != n21 && n32 != n22 && n32 != n23 && n32 != n31 && n32 <= 9 && n32 >= 1)
Console.Write("please enter a new value which different from other values and between 1 and 9:");
n32 = Convert.ToInt32(Console.ReadLine());
Console.Write("Enter the ninth number:");
n33 = Convert.ToInt32(Console.ReadLine());
while (n33 == n11 || n33 == n12 || n33 == n13 || n33 == n21 || n33 == n22 || n33 == n23 || n33 == n31 || n33 == n32 || n33 < 1 || n33 > 9)
if (n33 != n11 && n33 != n12 && n33 != n13 && n33 != n21 && n33 != n22 && n33 != n23 && n33 != n31 && n33 != n32 && n33 <= 9 && n33 >= 1)
Console.Write("please enter a new value which different from other values and between 1 and 9:");
n33 = Convert.ToInt32(Console.ReadLine());
int row = 0, column = 0, cross = 0, computerScore = 0, playerScore = 0;
if ((n12 == n11 + 1 && n13 == n12 + 1) || (n22 == n21 + 1 && n23 == n22 + 1) || (n32 == n31 + 1 && n33 == n32 + 1) || (n12 == n11 - 1 && n13 == n12 - 1) || (n22 == n21 - 1 && n23 == n22 - 1) || (n32 == n31 - 1 && n33 == n32 - 1))
if ((n21 == n11 + 1 && n31 == n21 + 1) || (n22 == n12 + 1 && n32 == n22 + 1) || (n23 == n13 + 1 && n33 == n23 + 1) || (n21 == n11 - 1 && n31 == n21 - 1) || (n22 == n12 - 1 && n32 == n22 - 1) || (n23 == n13 - 1 && n33 == n23 - 1))
if (((n12 == n11 + 1 && n13 == n12 + 1) || (n12 == n11 - 1 && n13 == n12 - 1)) && ((n22 == n21 + 1 && n23 == n22 + 1) || (n32 == n31 + 1 && n33 == n32 + 1) || (n22 == n21 - 1 && n23 == n22 - 1) || (n32 == n31 - 1 && n33 == n32 - 1)) || ((n22 == n21 + 1 && n23 == n22 + 1) || (n22 == n21 - 1 && n23 == n22 - 1)) && ((n32 == n31 + 1 && n33 == n32 + 1) || (n32 == n31 - 1 && n33 == n32 - 1)))
if (((n21 == n11 + 1 && n31 == n21 + 1) || (n21 == n11 - 1 && n31 == n21 - 1)) && ((n22 == n12 + 1 && n32 == n22 + 1) || (n22 == n12 - 1 && n32 == n22 - 1) || (n23 == n13 + 1 && n33 == n23 + 1) || (n23 == n13 - 1 && n33 == n23 - 1)) || ((n22 == n12 + 1 && n32 == n22 + 1) || (n22 == n12 - 1 && n32 == n22 - 1)) && ((n23 == n13 - 1 && n33 == n23 - 1) || (n23 == n13 + 1 && n33 == n23 + 1)))
if (((n12 == n11 + 1 & n13 == n12 + 1) || (n12 == n11 - 1 && n13 == n12 - 1)) && ((n22 == n21 + 1 && n23 == n22 + 1) || (n22 == n21 - 1 && n23 == n22 - 1)) && ((n32 == n31 + 1 && n33 == n32 + 1) || (n32 == n31 - 1 && n33 == n32 - 1)))
if (((n21 == n11 + 1 & n31 == n21 + 1) || (n21 == n11 - 1 && n31 == n21 - 1)) && ((n22 == n12 + 1 && n32 == n22 + 1) || (n22 == n12 - 1 && n32 == n22 - 1)) && ((n23 == n13 + 1 && n33 == n23 + 1) || (n23 == n13 - 1 && n33 == n23 - 1)))
if (n22 == n11 + 1 && n33 == n22 + 1 || n22 == n11 - 1 && n33 == n22 - 1)
int boardScore = (row + column + cross) * (row + column + cross);
Console.WriteLine(" " + "1" + " " + "2" + " " + "3" + " " + " ");
Console.WriteLine(" + - - - +");
Console.WriteLine(" 1| " + n11 + " " + n12 + " " + n13 + " | " + " Board score: " + boardScore);
Console.WriteLine(" 2| " + n21 + " " + n22 + " " + n23 + " | " + " Player score: " + playerScore);
Console.WriteLine(" 3| " + n31 + " " + n32 + " " + n33 + " | " + " Computer score: " + computerScore);
Console.WriteLine(" + - - - +");
Console.WriteLine("process");
int move, temp1, temp2, temp3, temp4, temp5, temp6;
Random rnd = new Random();
Console.WriteLine("Enter a value for move: ");
move = Convert.ToInt32(Console.ReadLine());
while (move < 1 || move > 6)
Console.WriteLine("move should be between 1 and 6. enter a new value for move: ");
move = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(temp1 = n12);
Console.WriteLine(n12 = n11);
Console.WriteLine(n11 = n13);
Console.WriteLine(n13 = temp1);
Console.WriteLine(temp2 = n22);
Console.WriteLine(n22 = n21);
Console.WriteLine(n21 = n23);
Console.WriteLine(n23 = temp2);
Console.WriteLine(temp3 = n32);
Console.WriteLine(n32 = n31);
Console.WriteLine(n31 = n33);
Console.WriteLine(n33 = temp3);
Console.WriteLine(temp4 = n21);
Console.WriteLine(n21 = n11);
Console.WriteLine(n11 = n31);
Console.WriteLine(n31 = temp4);
Console.WriteLine(temp5 = n22);
Console.WriteLine(n22 = n12);
Console.WriteLine(n12 = n32);
Console.WriteLine(n32 = temp5);
Console.WriteLine(temp6 = n23);
Console.WriteLine(n23 = n13);
Console.WriteLine(n13 = n33);
Console.WriteLine(n33 = temp6);
int afterMoveRow = 0, afterMoveColumn = 0, afterMoveCross = 0;
if ((n12 == n11 + 1 && n13 == n12 + 1) || (n22 == n21 + 1 && n23 == n22 + 1) || (n32 == n31 + 1 && n33 == n32 + 1) || (n12 == n11 - 1 && n13 == n12 - 1) || (n22 == n21 - 1 && n23 == n22 - 1) || (n32 == n31 - 1 && n33 == n32 - 1))
if ((n21 == n11 + 1 && n31 == n21 + 1) || (n22 == n12 + 1 && n32 == n22 + 1) || (n23 == n13 + 1 && n33 == n23 + 1) || (n21 == n11 - 1 && n31 == n21 - 1) || (n22 == n12 - 1 && n32 == n22 - 1) || (n23 == n13 - 1 && n33 == n23 - 1))
if (((n12 == n11 + 1 && n13 == n12 + 1) || (n12 == n11 - 1 && n13 == n12 - 1)) && ((n22 == n21 + 1 && n23 == n22 + 1) || (n32 == n31 + 1 && n33 == n32 + 1) || (n22 == n21 - 1 && n23 == n22 - 1) || (n32 == n31 - 1 && n33 == n32 - 1)) || ((n22 == n21 + 1 && n23 == n22 + 1) || (n22 == n21 - 1 && n23 == n22 - 1)) && ((n32 == n31 + 1 && n33 == n32 + 1) || (n32 == n31 - 1 && n33 == n32 - 1)))
if (((n21 == n11 + 1 && n31 == n21 + 1) || (n21 == n11 - 1 && n31 == n21 - 1)) && ((n22 == n12 + 1 && n32 == n22 + 1) || (n22 == n12 - 1 && n32 == n22 - 1) || (n23 == n13 + 1 && n33 == n23 + 1) || (n23 == n13 - 1 && n33 == n23 - 1)) || ((n22 == n12 + 1 && n32 == n22 + 1) || (n22 == n12 - 1 && n32 == n22 - 1)) && ((n23 == n13 - 1 && n33 == n23 - 1) || (n23 == n13 + 1 && n33 == n23 + 1)))
if (((n12 == n11 + 1 & n13 == n12 + 1) || (n12 == n11 - 1 && n13 == n12 - 1)) && ((n22 == n21 + 1 && n23 == n22 + 1) || (n22 == n21 - 1 && n23 == n22 - 1)) && ((n32 == n31 + 1 && n33 == n32 + 1) || (n32 == n31 - 1 && n33 == n32 - 1)))
if (((n21 == n11 + 1 & n31 == n21 + 1) || (n21 == n11 - 1 && n31 == n21 - 1)) && ((n22 == n12 + 1 && n32 == n22 + 1) || (n22 == n12 - 1 && n32 == n22 - 1)) && ((n23 == n13 + 1 && n33 == n23 + 1) || (n23 == n13 - 1 && n33 == n23 - 1)))
if ((n22 == n11 + 1 && n33 == n22 + 1) || (n22 == n11 - 1 && n33 == n22 - 1) || (n22 == n13 + 1 && n31 == n22 + 1) || (n22 == n13 - 1 && n31 == n22 - 1))
boardScore = (afterMoveRow + afterMoveColumn + afterMoveCross) * (afterMoveRow + afterMoveColumn + afterMoveCross);
playerScore = (afterMoveRow + afterMoveColumn + afterMoveCross) * (afterMoveRow + afterMoveColumn + afterMoveCross);
turn1 = "Turn : " + turn + " / Computer";
turn1 = "Turn : " + turn + " / Player";
Console.WriteLine("---------- Round: " + turn + " - Process: " + move.ToString() + " / Computer ---------- ");
Console.WriteLine("---------- Round: " + turn + " - Process: " + move.ToString() + " / Player ---------- ");
Console.WriteLine(" " + "1" + " " + "2" + " " + "3" + " " + " " + turn1 + "");
Console.WriteLine(" + - - - +");
Console.WriteLine(" 1| " + n11 + " " + n12 + " " + n13 + " | " + " Board score: " + boardScore);
Console.WriteLine(" 2| " + n21 + " " + n22 + " " + n23 + " | " + " Player score: " + playerScore);
Console.WriteLine(" 3| " + n31 + " " + n32 + " " + n33 + " | " + " Computer score: " + computerScore);
Console.WriteLine(" + - - - +");
Console.WriteLine("Command :" + move);