Advertisement
Guest User

hello

a guest
Nov 21st, 2014
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.26 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9.  
  10. namespace TicTacToe
  11. {
  12. public partial class TicTacToe : Form
  13. {
  14. bool turn = true;// true = X turn; false = O turn
  15. int turn_count = 0;
  16. static String player1, player2;
  17.  
  18. public TicTacToe()
  19. {
  20. InitializeComponent();
  21.  
  22. }
  23.  
  24. public static void setPlayerNames(String n1, String n2)
  25. {
  26. player1 = n1;
  27. player2 = n2;
  28. }
  29.  
  30. private void button_click(object sender, EventArgs e)
  31. {
  32. Button b = (Button)sender;
  33. if (turn)
  34.  
  35. b.Text = "X";
  36. else
  37. b.Text = "O";
  38.  
  39. turn = !turn;
  40. b.Enabled = false;
  41. turn_count++;
  42. checkForWinner();
  43. }
  44. private void checkForWinner()
  45. {
  46. bool there_is_a_winner = false;
  47.  
  48. //Vertical checks
  49. if ((TopLeft.Text == MidLeft.Text) && (MidLeft.Text == BotLeft.Text) && (!TopLeft.Enabled))
  50. there_is_a_winner = true;
  51. if ((TopMid.Text == MidMid.Text) && (MidMid.Text == BotMid.Text) && (!TopMid.Enabled))
  52. there_is_a_winner = true;
  53. if ((TopRight.Text == MidRight.Text) && (MidRight.Text == BotRight.Text) && (!TopRight.Enabled))
  54. there_is_a_winner = true;
  55.  
  56. //Horizontal checks
  57. if ((TopLeft.Text == TopMid.Text) && (TopMid.Text == TopRight.Text) && (!TopLeft.Enabled))
  58. there_is_a_winner = true;
  59. if ((MidLeft.Text == MidMid.Text) && (MidMid.Text == MidRight.Text) && (!MidLeft.Enabled))
  60. there_is_a_winner = true;
  61. if ((BotLeft.Text == BotMid.Text) && (BotMid.Text == BotRight.Text) && (!BotLeft.Enabled))
  62. there_is_a_winner = true;
  63.  
  64. //Diagonal checks
  65. if ((TopLeft.Text == MidMid.Text) && (MidMid.Text == BotRight.Text) && (!TopLeft.Enabled))
  66. there_is_a_winner = true;
  67.  
  68. if ((BotLeft.Text == MidMid.Text) && (MidMid.Text == TopRight.Text) && (!BotLeft.Enabled))
  69. there_is_a_winner = true;
  70.  
  71. if (there_is_a_winner == true)
  72. {
  73. disablebuttons();
  74.  
  75. String winner = "";
  76. if (turn)
  77. {
  78. winner = player2;
  79. O_wincount.Text = (Int32.Parse(O_wincount.Text) + 1).ToString();
  80. }
  81. else
  82. {
  83. winner = player1;
  84. X_wincount.Text = (Int32.Parse(X_wincount.Text) + 1).ToString();
  85. }
  86. MessageBox.Show(winner + " Wins!", "Yay!");
  87.  
  88. }
  89. else
  90. {
  91. if (turn_count == 9)
  92. {
  93. Draw_Count.Text = (Int32.Parse(Draw_Count.Text) + 1).ToString();
  94. MessageBox.Show("Draw!", "Bummer!");
  95. }
  96. }
  97. }
  98.  
  99. private void disablebuttons()
  100. {
  101. try
  102. {
  103. foreach (Control c in Controls)
  104. {
  105. Button b = (Button)c;
  106. b.Enabled = false;
  107. }
  108. }
  109. catch { }
  110. }
  111.  
  112. private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
  113. {
  114. MessageBox.Show("By Christopher", "Tic Tac Toe About");
  115. }
  116.  
  117. private void exitToolStripMenuItem_Click(object sender, EventArgs e)
  118. {
  119. Application.Exit();
  120. }
  121.  
  122. private void newGameToolStripMenuItem_Click(object sender, EventArgs e)
  123. {
  124. turn = true;
  125. turn_count = 0;
  126.  
  127.  
  128. foreach (Component c in Controls)
  129. {
  130. try
  131. {
  132. Button b = (Button)c;
  133. b.Enabled = true;
  134. b.Text = "";
  135. }//end try
  136. catch { }
  137. }//end foreach
  138. }
  139.  
  140. private void button_enter(object sender, EventArgs e)
  141. {
  142. Button b = (Button)sender;
  143. if (b.Enabled)
  144. {
  145. if (turn)
  146. b.Text = "X";
  147. else
  148. b.Text = "O";
  149. }//end if
  150. }
  151.  
  152. private void button_leave(object sender, EventArgs e)
  153. {
  154. Button b = (Button)sender;
  155. if (b.Enabled)
  156. {
  157. b.Text = "";
  158. }//end if
  159. }
  160.  
  161. private void resetWinCountToolStripMenuItem_Click(object sender, EventArgs e)
  162. {
  163. O_wincount.Text = "0";
  164. X_wincount.Text = "0";
  165. Draw_Count.Text = "0";
  166. }
  167.  
  168. private void TicTacToe_Load(object sender, EventArgs e)
  169. {
  170. PlayerSelectScreen f2 = new PlayerSelectScreen();
  171. f2.ShowDialog();
  172. label1.Text = player1 + " Wins";
  173. label3.Text = player2 + " Wins";
  174. }
  175. }
  176. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement