Advertisement
ada1711

Untitled

May 26th, 2023
38
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.87 KB | None | 0 0
  1. using ShipsGame.Klasy;
  2. using System;
  3. using System.Windows.Forms;
  4.  
  5. namespace ShipsGame.Okna
  6. {
  7. public partial class UstawienieStatkow : Form
  8. {
  9.  
  10. int myszX;
  11. int myszY;
  12.  
  13. int indexAktualnegoStatku;
  14.  
  15. // true - poziomo
  16. // false - pionowo
  17. bool poziom;
  18.  
  19. bool[] rozmieszczoneStatki = new bool[4];
  20.  
  21.  
  22. public UstawienieStatkow()
  23. {
  24.  
  25. InitializeComponent();
  26. Console.WriteLine("Form initiated.");
  27.  
  28. planszaGracza.Width = 400;
  29. planszaGracza.Height = 400;
  30.  
  31. poziom = true;
  32.  
  33. Gra.Uzytkownik = new Gracz();
  34. Gra.Komputer = new Gracz();
  35.  
  36. indexAktualnegoStatku = 0;
  37.  
  38. lblNazwaGracza.Visible = false;
  39. btnDalej.Enabled = false;
  40. }
  41.  
  42. private void planszaGracza_MouseMove(object sender, MouseEventArgs e)
  43. {
  44. Console.WriteLine("Movement detected.");
  45. if (indexAktualnegoStatku < rozmieszczoneStatki.Length)
  46. {
  47. myszX = Koordynaty.PobierzKomorke(e.Location.X);
  48. myszY = Koordynaty.PobierzKomorke(e.Location.Y);
  49.  
  50. planszaGracza.Refresh();
  51.  
  52. if (poziom)
  53. {
  54. for (int i = 0; i < Gra.RozmiaryStatkow[indexAktualnegoStatku]; i++)
  55. {
  56. if (myszX + i <= Gracz.OSTATNI_INDEX_PLANSZY)
  57. {
  58. Rysowanie.RysujObramowanie(myszX + i, myszY, indexAktualnegoStatku, planszaGracza);
  59. }
  60. else break;
  61. }
  62.  
  63. }
  64. else
  65. {
  66. for (int i = 0; i < Gra.RozmiaryStatkow[indexAktualnegoStatku]; i++)
  67. {
  68. if (myszY + i <= Gracz.OSTATNI_INDEX_PLANSZY)
  69. {
  70. Rysowanie.RysujObramowanie(myszX, myszY + i, indexAktualnegoStatku, planszaGracza);
  71. }
  72. else break;
  73. }
  74.  
  75. }
  76. }
  77. }
  78.  
  79. private void btnObrot_Click(object sender, EventArgs e)
  80. {
  81. poziom = !poziom;
  82. }
  83.  
  84. private void planszaGracza_Click(object sender, EventArgs e) {
  85. // Czy możemy umieściść tutaj statek, jeżeli tak - dane pole tablicy na true
  86. if (Gra.CzyMoznaPostawicStatek(indexAktualnegoStatku, myszX, myszY, poziom, Gra.Uzytkownik.Plansza))
  87. {
  88. rozmieszczoneStatki[indexAktualnegoStatku] = true;
  89. Gra.RozmiescStatek(indexAktualnegoStatku, myszX, myszY, poziom, Gra.Uzytkownik.Plansza);
  90. planszaGracza.Refresh();
  91.  
  92. if (indexAktualnegoStatku < Gra.Uzytkownik.Flota.Length)
  93. {
  94. indexAktualnegoStatku++;
  95. }
  96. int pos = Array.IndexOf(rozmieszczoneStatki, false);
  97. if (pos == -1) //! =
  98. {
  99. btnDalej.Enabled = true;
  100. planszaGracza.Enabled = false;
  101. }
  102. }
  103. }
  104.  
  105. private void planszaGracza_Paint(object sender, PaintEventArgs e)
  106. {
  107. Rysowanie.RysujUstawioneKomorki(Gra.Uzytkownik.Plansza, e);
  108. }
  109.  
  110. private void btnDalej_Click(object sender, EventArgs e)
  111. {
  112. if (txtNazwaGracza.Text == "")
  113. {
  114. lblNazwaGracza.Visible = true;
  115. } else
  116. {
  117. Gra.Uzytkownik.Nazwa = txtNazwaGracza.Text;
  118. Gra.Komputer.Nazwa = "Komputer";
  119.  
  120.  
  121.  
  122. Rozgrywka rozgrywka = new Rozgrywka();
  123.  
  124. rozgrywka.Show();
  125.  
  126. Hide();
  127.  
  128. }
  129. }
  130. }
  131. }
  132.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement