Advertisement
giganciprogramowania

l13 ox rozszerzenie

Apr 14th, 2023 (edited)
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.76 KB | None | 0 0
  1. public partial class Form1 : Form
  2. {
  3.  
  4. bool czyjRuch = true; //true to X, false to O
  5. int licznikTur = 0;
  6.  
  7.  
  8.  
  9. public Form1()
  10. {
  11. InitializeComponent();
  12. lblCzyjRuch.Text = "X";
  13. }
  14.  
  15.  
  16. private void WstawZnak(object przycisk)
  17. {
  18. Button wcisnietyPrzycisk = (Button)przycisk;
  19. //tłumaczymy, że sender to obiekt,który został wciśnięty, musimy go zrzutować
  20. //na typ Button(przycisk), aby można było ustawić mu znak i ew. wyłączyć
  21.  
  22.  
  23. if (czyjRuch)
  24. {
  25. wcisnietyPrzycisk.Text = "X";
  26. }
  27. else
  28. {
  29. wcisnietyPrzycisk.Text = "O";
  30. }
  31.  
  32.  
  33. wcisnietyPrzycisk.Enabled = false;
  34.  
  35.  
  36. bool wynik = SprawdzCzyKtosWygral();
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43. if (wynik)
  44. {
  45. string tekstWygranej;
  46. if (czyjRuch)
  47. {
  48. tekstWygranej = "Wygrał Gracz X! Rozpocząć jeszcze raz?";
  49. }
  50. else
  51.  
  52.  
  53. {
  54.  
  55.  
  56. tekstWygranej = "Wygrał Gracz O! Rozpocząć jeszcze raz?";
  57. }
  58.  
  59.  
  60. //Sprawdzamy, czy gracze chcą kontynuować czy nie
  61. DialogResult odpowiedz = MessageBox.Show(tekstWygranej, "Wygrana", MessageBoxButtons.YesNo);
  62.  
  63.  
  64. if (odpowiedz == DialogResult.Yes)
  65. {
  66. WlaczWszystkiePrzyciskiIResetuj();
  67. return;
  68. }
  69. else
  70. {
  71. Close();
  72. }
  73. }
  74.  
  75.  
  76. //Sprawdzamy,czy padł remis
  77. if (licznikTur == 9)
  78. {
  79.  
  80. DialogResult odpowiedz = MessageBox.Show("Remis. Czy chcesz zagrać jeszcze raz?", "Remis", MessageBoxButtons.YesNo);
  81.  
  82.  
  83. if (odpowiedz == DialogResult.Yes)
  84. {
  85. WlaczWszystkiePrzyciskiIResetuj();
  86. return;
  87. }
  88. else
  89. {
  90. Close();
  91. }
  92. }
  93.  
  94.  
  95.  
  96.  
  97. czyjRuch = !czyjRuch; //przełączamy gracza
  98. if (czyjRuch)
  99. {
  100. lblCzyjRuch.Text = "X";
  101. }
  102. else
  103. {
  104. lblCzyjRuch.Text = "O";
  105. }
  106.  
  107.  
  108. }
  109.  
  110.  
  111. private void WlaczWszystkiePrzyciskiIResetuj()
  112. {
  113.  
  114.  
  115.  
  116.  
  117. btn1.Enabled = true;
  118. btn2.Enabled = true;
  119. btn3.Enabled = true;
  120. btn4.Enabled = true;
  121. btn5.Enabled = true;
  122. btn6.Enabled = true;
  123. btn7.Enabled = true;
  124. btn8.Enabled = true;
  125. btn9.Enabled = true;
  126. btn1.Text = "";
  127. btn2.Text = "";
  128. btn3.Text = "";
  129. btn4.Text = "";
  130. btn5.Text = "";
  131. btn6.Text = "";
  132. btn7.Text = "";
  133. btn8.Text = "";
  134. btn9.Text = "";
  135. licznikTur = 0;
  136. czyjRuch = true;
  137. lblCzyjRuch.Text = "X";
  138. }
  139.  
  140.  
  141.  
  142.  
  143. private bool SprawdzCzyKtosWygral()
  144. {
  145.  
  146. if (btn1.Text == btn2.Text && btn2.Text == btn3.Text && btn1.Text != "")
  147.  
  148. {
  149. return true;
  150. }
  151.  
  152. else if (btn4.Text == btn5.Text && btn5.Text == btn6.Text && btn4.Text != "")
  153. {
  154. return true;
  155. }
  156.  
  157. else if (btn7.Text == btn8.Text && btn8.Text == btn9.Text && btn7.Text != "")
  158. {
  159. return true;
  160. }
  161.  
  162. else if (btn1.Text == btn4.Text && btn4.Text == btn7.Text && btn1.Text != "")
  163. {
  164. return true;
  165. }
  166.  
  167. else if (btn2.Text == btn5.Text && btn5.Text == btn8.Text && btn2.Text != "")
  168. {
  169. return true;
  170. }
  171.  
  172. else if (btn3.Text == btn6.Text && btn6.Text == btn9.Text && btn3.Text != "")
  173. {
  174. return true;
  175. }
  176. else if (btn1.Text == btn5.Text && btn5.Text == btn9.Text && btn1.Text != "")
  177. {
  178. return true;
  179. }
  180.  
  181. else if (btn3.Text == btn5.Text && btn5.Text == btn7.Text && btn3.Text != "")
  182. {
  183. return true;
  184. }
  185. else
  186. {
  187. licznikTur++;
  188. return false;
  189. }
  190. }
  191.  
  192.  
  193. private void btn_click(object sender, EventArgs e)
  194. {
  195. WstawZnak(sender);
  196. }
  197.  
  198.  
  199. }
  200.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement