Guest User

Untitled

a guest
Jul 17th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 11.39 KB | None | 0 0
  1. using System;
  2. using System.Windows.Forms;
  3. using System.Drawing;
  4.  
  5. namespace TicTacToe
  6. {
  7.     class Program : Form
  8.     {
  9.  
  10.         // Gui
  11.         Button btnOne;
  12.         Button btnTwo;
  13.         Button btnThree;
  14.         Button btnFour;
  15.         Button btnFive;
  16.         Button btnSix;
  17.         Button btnSeven;
  18.         Button btnEight;
  19.         Button btnNine;
  20.         Label lblVictoryInfo;
  21.  
  22.         // Game table
  23.         string[] table = { "0", "0", "0", "0", "0", "0", "0", "0", "0", };
  24.  
  25.         // Turn tracker
  26.         int iTurn;
  27.  
  28.         public Program()
  29.         {
  30.             InitializeComponents();
  31.             Random rnd = new Random();
  32.             iTurn = rnd.Next(0,2);
  33.         }
  34.  
  35.         void InitializeComponents()
  36.         {
  37.             // Main window
  38.             this.Width = 100;
  39.             this.Height = 150;
  40.             this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
  41.             this.Text = "Tic Tac Toe";
  42.             this.Visible = true;
  43.             this.Enabled = true;
  44.             this.StartPosition = FormStartPosition.CenterScreen;
  45.  
  46.             // Button One
  47.             btnOne = new Button();
  48.             btnOne.Width = 30;
  49.             btnOne.Height = 30;
  50.             btnOne.Text = " ";
  51.             btnOne.Font = new Font(Font.SystemFontName, 20f);
  52.             btnOne.Location = new Point(10, 10);
  53.             btnOne.Click += new EventHandler(btnOne_Click);
  54.  
  55.             // Button Two
  56.             btnTwo = new Button();
  57.             btnTwo.Width = 30;
  58.             btnTwo.Height = 30;
  59.             btnTwo.Text = " ";
  60.             btnTwo.Font = new Font(Font.SystemFontName, 20f);
  61.             btnTwo.Location = new Point(40, 10);
  62.             btnTwo.Click += new EventHandler(btnTwo_Click);
  63.  
  64.             // Button Three
  65.             btnThree = new Button();
  66.             btnThree.Width = 30;
  67.             btnThree.Height = 30;
  68.             btnThree.Text = " ";
  69.             btnThree.Font = new Font(Font.SystemFontName, 20f);
  70.             btnThree.Location = new Point(70, 10);
  71.             btnThree.Click += new EventHandler(btnThree_Click);
  72.  
  73.             // Button Four
  74.             btnFour = new Button();
  75.             btnFour.Width = 30;
  76.             btnFour.Height = 30;
  77.             btnFour.Text = " ";
  78.             btnFour.Font = new Font(Font.SystemFontName, 20f);
  79.             btnFour.Location = new Point(10, 40);
  80.             btnFour.Click += new EventHandler(btnFour_Click);
  81.  
  82.             // Button Five
  83.             btnFive = new Button();
  84.             btnFive.Width = 30;
  85.             btnFive.Height = 30;
  86.             btnFive.Text = " ";
  87.             btnFive.Font = new Font(Font.SystemFontName, 20f);
  88.             btnFive.Location = new Point(40, 40);
  89.             btnFive.Click += new EventHandler(btnFive_Click);
  90.  
  91.             // Button Six
  92.             btnSix = new Button();
  93.             btnSix.Width = 30;
  94.             btnSix.Height = 30;
  95.             btnSix.Text = " ";
  96.             btnSix.Font = new Font(Font.SystemFontName, 20f);
  97.             btnSix.Location = new Point(70, 40);
  98.             btnSix.Click += new EventHandler(btnSix_Click);
  99.  
  100.             // Button Seven
  101.             btnSeven = new Button();
  102.             btnSeven.Width = 30;
  103.             btnSeven.Height = 30;
  104.             btnSeven.Text = " ";
  105.             btnSeven.Font = new Font(Font.SystemFontName, 20f);
  106.             btnSeven.Location = new Point(10, 70);
  107.             btnSeven.Click += new EventHandler(btnSeven_Click);
  108.  
  109.             // Button Eight
  110.             btnEight = new Button();
  111.             btnEight.Width = 30;
  112.             btnEight.Height = 30;
  113.             btnEight.Text = " ";
  114.             btnEight.Font = new Font(Font.SystemFontName, 20f);
  115.             btnEight.Location = new Point(40, 70);
  116.             btnEight.Click += new EventHandler(btnEight_Click);
  117.  
  118.             // Button Nine
  119.             btnNine = new Button();
  120.             btnNine.Width = 30;
  121.             btnNine.Height = 30;
  122.             btnNine.Text = " ";
  123.             btnNine.Font = new Font(Font.SystemFontName, 20f);
  124.             btnNine.Location = new Point(70, 70);
  125.             btnNine.Click += new EventHandler(btnNine_Click);
  126.            
  127.             // Add items to form
  128.             this.Controls.Add(btnOne);
  129.             this.Controls.Add(btnTwo);
  130.             this.Controls.Add(btnThree);
  131.             this.Controls.Add(btnFour);
  132.             this.Controls.Add(btnFive);
  133.             this.Controls.Add(btnSix);
  134.             this.Controls.Add(btnSeven);
  135.             this.Controls.Add(btnEight);
  136.             this.Controls.Add(btnNine);
  137.         }
  138.  
  139.         string TurnChecker()
  140.         {
  141.             if (iTurn == 1)
  142.             {
  143.                 // X is up
  144.                 iTurn = 0;
  145.                 return "X";
  146.             }
  147.  
  148.             else
  149.             {
  150.                 // O is up
  151.                 iTurn = 1;
  152.                 return "O";
  153.             }
  154.         }
  155.  
  156.         void UpdateTable(int placement, string player)
  157.         {
  158.             table[placement] = player;
  159.         }
  160.  
  161.         void CheckWinConditions(string player)
  162.         {
  163.             if (
  164.                 ((table[0] == player)) && ((table[1] == player)) && ((table[2] == player)))
  165.             {
  166.                 btnOne.BackColor = Color.LightSalmon;
  167.                 btnTwo.BackColor = Color.LightSalmon;
  168.                 btnThree.BackColor = Color.LightSalmon;
  169.                 btnFour.Enabled = false;
  170.                 btnFive.Enabled = false;
  171.                 btnSix.Enabled = false;
  172.                 btnSeven.Enabled = false;
  173.                 btnEight.Enabled = false;
  174.                 btnNine.Enabled = false;
  175.             }
  176.  
  177.             else if (
  178.                 ((table[0] == player)) && ((table[3] == player)) && ((table[6] == player)))
  179.             {
  180.                 btnOne.BackColor = Color.LightSalmon;
  181.                 btnFour.BackColor = Color.LightSalmon;
  182.                 btnSeven.BackColor = Color.LightSalmon;
  183.                 btnTwo.Enabled = false;
  184.                 btnThree.Enabled = false;
  185.                 btnFive.Enabled = false;
  186.                 btnSix.Enabled = false;
  187.                 btnEight.Enabled = false;
  188.                 btnNine.Enabled = false;
  189.             }
  190.  
  191.             else if (
  192.                 ((table[6] == player)) && ((table[7] == player)) && ((table[8] == player)))
  193.             {
  194.                 btnSeven.BackColor = Color.LightSalmon;
  195.                 btnEight.BackColor = Color.LightSalmon;
  196.                 btnNine.BackColor = Color.LightSalmon;
  197.                 btnOne.Enabled = false;
  198.                 btnTwo.Enabled = false;
  199.                 btnThree.Enabled = false;
  200.                 btnFour.Enabled = false;
  201.                 btnFive.Enabled = false;
  202.                 btnSix.Enabled = false;
  203.             }
  204.  
  205.             else if (
  206.                 ((table[0] == player)) && ((table[4] == player)) && ((table[8] == player)))
  207.             {
  208.                 btnOne.BackColor = Color.LightSalmon;
  209.                 btnFive.BackColor = Color.LightSalmon;
  210.                 btnNine.BackColor = Color.LightSalmon;
  211.                 btnTwo.Enabled = false;
  212.                 btnThree.Enabled = false;
  213.                 btnFour.Enabled = false;
  214.                 btnSix.Enabled = false;
  215.                 btnSeven.Enabled = false;
  216.                 btnEight.Enabled = false;
  217.             }
  218.  
  219.             else if (
  220.                 ((table[3] == player)) && ((table[4] == player)) && ((table[5] == player)))
  221.             {
  222.                 btnFour.BackColor = Color.LightSalmon;
  223.                 btnFive.BackColor = Color.LightSalmon;
  224.                 btnSix.BackColor = Color.LightSalmon;
  225.                 btnOne.Enabled = false;
  226.                 btnTwo.Enabled = false;
  227.                 btnThree.Enabled = false;
  228.                 btnSeven.Enabled = false;
  229.                 btnEight.Enabled = false;
  230.                 btnNine.Enabled = false;
  231.             }
  232.  
  233.             else if (
  234.                 ((table[2] == player)) && ((table[5] == player)) && ((table[8] == player)))
  235.             {
  236.                 btnThree.BackColor = Color.LightSalmon;
  237.                 btnSix.BackColor = Color.LightSalmon;
  238.                 btnNine.BackColor = Color.LightSalmon;
  239.                 btnOne.Enabled = false;
  240.                 btnTwo.Enabled = false;
  241.                 btnFour.Enabled = false;
  242.                 btnFive.Enabled = false;
  243.                 btnSeven.Enabled = false;
  244.                 btnEight.Enabled = false;
  245.             }
  246.             else if (
  247.                 ((table[1] == player)) && ((table[4] == player)) && ((table[7] == player)))
  248.             {
  249.                 btnTwo.BackColor = Color.LightSalmon;
  250.                 btnFive.BackColor = Color.LightSalmon;
  251.                 btnEight.BackColor = Color.LightSalmon;
  252.                 btnOne.Enabled = false;
  253.                 btnThree.Enabled = false;
  254.                 btnFour.Enabled = false;
  255.                 btnSix.Enabled = false;
  256.                 btnSeven.Enabled = false;
  257.                 btnNine.Enabled = false;
  258.             }
  259.         }
  260.  
  261.         void btnNine_Click(object sender, EventArgs e)
  262.         {
  263.             string sTurn = TurnChecker();
  264.             UpdateTable(8, sTurn);
  265.             btnNine.Text = sTurn;
  266.             btnNine.Enabled = false;
  267.             CheckWinConditions(sTurn);
  268.         }
  269.  
  270.         void btnEight_Click(object sender, EventArgs e)
  271.         {
  272.             string sTurn = TurnChecker();
  273.             UpdateTable(7, sTurn);
  274.             btnEight.Text = sTurn;
  275.             btnEight.Enabled = false;
  276.             CheckWinConditions(sTurn);
  277.         }
  278.  
  279.         void btnSeven_Click(object sender, EventArgs e)
  280.         {
  281.             string sTurn = TurnChecker();
  282.             UpdateTable(6, sTurn);
  283.             btnSeven.Text = sTurn;
  284.             btnSeven.Enabled = false;
  285.             CheckWinConditions(sTurn);
  286.         }
  287.  
  288.         void btnSix_Click(object sender, EventArgs e)
  289.         {
  290.             string sTurn = TurnChecker();
  291.             UpdateTable(5, sTurn);
  292.             btnSix.Text = sTurn;
  293.             btnSix.Enabled = false;
  294.             CheckWinConditions(sTurn);
  295.         }
  296.  
  297.         void btnFive_Click(object sender, EventArgs e)
  298.         {
  299.             string sTurn = TurnChecker();
  300.             UpdateTable(4, sTurn);
  301.             btnFive.Text = sTurn;
  302.             btnFive.Enabled = false;
  303.             CheckWinConditions(sTurn);
  304.         }
  305.  
  306.         void btnFour_Click(object sender, EventArgs e)
  307.         {
  308.             string sTurn = TurnChecker();
  309.             UpdateTable(3, sTurn);
  310.             btnFour.Text = sTurn;
  311.             btnFour.Enabled = false;
  312.             CheckWinConditions(sTurn);
  313.         }
  314.  
  315.         void btnThree_Click(object sender, EventArgs e)
  316.         {
  317.             string sTurn = TurnChecker();
  318.             UpdateTable(2, sTurn);
  319.             btnThree.Text = sTurn;
  320.             btnThree.Enabled = false;
  321.             CheckWinConditions(sTurn);
  322.         }
  323.  
  324.         void btnTwo_Click(object sender, EventArgs e)
  325.         {
  326.             string sTurn = TurnChecker();
  327.             UpdateTable(1, sTurn);
  328.             btnTwo.Text = sTurn;
  329.             btnTwo.Enabled = false;
  330.             CheckWinConditions(sTurn);
  331.         }
  332.  
  333.         void btnOne_Click(object sender, EventArgs e)
  334.         {
  335.             string sTurn = TurnChecker();
  336.             UpdateTable(0, sTurn);
  337.             btnOne.Text = sTurn;
  338.             btnOne.Enabled = false;
  339.             CheckWinConditions(sTurn);
  340.         }
  341.  
  342.         static void Main()
  343.         { Application.Run(new Program()); }
  344.     }
  345. }
Add Comment
Please, Sign In to add comment