Advertisement
Guest User

s

a guest
Mar 30th, 2020
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.18 KB | None | 0 0
  1. using System;
  2. using System.Threading;
  3.  
  4. namespace TicTacToe
  5. {
  6.     class Program
  7.     {
  8.         static char[] arr = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
  9.         static int player = 1;
  10.         static int choice;
  11.         static int flag = 0;
  12.         static void Main(string[] args)
  13.         {
  14.             do
  15.             {
  16.                 Console.Clear();
  17.                 Console.WriteLine("Player 1: X");
  18.                 Console.WriteLine("Player 2: O");
  19.                 Console.WriteLine("\n");
  20.                 if (player % 2 == 0)
  21.                 {
  22.                     Console.WriteLine("Player 2 Chance");
  23.                 }
  24.                 else
  25.                 {
  26.                     Console.WriteLine("Player 1 Chance");
  27.                 }
  28.                 Console.WriteLine("\n");
  29.                 Board();
  30.                 choice = int.Parse(Console.ReadLine());
  31.                 if (arr[choice] != 'X' && arr[choice] != 'O')
  32.                 {
  33.                     if (player % 2 == 0)
  34.                     {
  35.                         arr[choice] = 'O';
  36.                         player++;
  37.                     }
  38.                     else
  39.                     {
  40.                         arr[choice] = 'X';
  41.                         player++;
  42.                     }
  43.                 }
  44.                 else
  45.                 {
  46.                     Console.WriteLine("Sorry the row {0} is already marked with {1", choice, arr[choice]);
  47.                     Console.WriteLine("\n");
  48.                     Console.WriteLine("Please wait 2 seconds, new board is loading.");
  49.                     Thread.Sleep(2000);
  50.  
  51.                 }
  52.                 flag = CheckWin();
  53.             } while (flag != 1 && flag != -1);
  54.             Console.Clear();
  55.             Board();
  56.             if (flag == 1)
  57.             {
  58.                 Console.WriteLine("Player {0} has won", (player % 2) + 1);
  59.             }
  60.             else
  61.             {
  62.                 Console.WriteLine("Draw");
  63.             }
  64.             Console.ReadLine();
  65.         }
  66.         private static void Board()
  67.         {
  68.             Console.WriteLine("     |     |      ");
  69.             Console.WriteLine("  {0}  |  {1}  |  {2}", arr[1], arr[2], arr[3]);
  70.             Console.WriteLine("_____|_____|_____ ");
  71.             Console.WriteLine("     |     |      ");
  72.             Console.WriteLine("  {0}  |  {1}  |  {2}", arr[4], arr[5], arr[6]);
  73.             Console.WriteLine("_____|_____|_____ ");
  74.             Console.WriteLine("     |     |      ");
  75.             Console.WriteLine("  {0}  |  {1}  |  {2}", arr[7], arr[8], arr[9]);
  76.             Console.WriteLine("     |     |      ");
  77.         }
  78.         private static int CheckWin()
  79.         {
  80.             #region Horizontal Winning Condition
  81.             if (arr[1] == arr[2] && arr[2] == arr[3])
  82.             {
  83.                 return 1;
  84.             }
  85.             else if (arr[4] == arr[5] && arr[5] == arr[6])
  86.             {
  87.                 return 1;
  88.             }
  89.             else if (arr[6] == arr[7] && arr[7] == arr[8])
  90.             {
  91.                 return 1;
  92.             }
  93.             #endregion
  94.             #region Vertical Winning Condition
  95.             else if (arr[1] == arr[4] && arr[4] == arr[7])
  96.             {
  97.                 return 1;
  98.             }
  99.             else if (arr[2] == arr[5] && arr[5] == arr[8])
  100.             {
  101.                 return 1;
  102.             }
  103.             else if (arr[3] == arr[6] && arr[6] == arr[9])
  104.             {
  105.                 return 1;
  106.             }
  107.             #endregion
  108.             #region Diagonal Winning Condition
  109.             else if (arr[1] == arr[5] && arr[5] == arr[9])
  110.             {
  111.                 return 1;
  112.             }
  113.             else if (arr[3]==arr[5] && arr[5] == arr[7])
  114.             {
  115.                 return 1;
  116.             }
  117.             #endregion
  118.             #region Checking For Draw
  119.             else if (arr[1] != '1' && arr[2] !='2' && arr[3] !='3' && arr[4] != '4' && arr[5] != '5' && arr[6] != '6' && arr[7] != '7' && arr[8] !='8' && arr[9] != '9')
  120.             {
  121.                 return -1;
  122.             }
  123.             #endregion
  124.             else
  125.             {
  126.                 return 0;
  127.             }
  128.         }
  129.     }
  130. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement