static void Main(string[] args) { Gra gra = new Gra(); gra.InfoStartowe(); List <Statek> statkiGracza1 = new List <Statek>(); //Tworzenie statków jako obiektów i spakowanie ich do listy. Statek statek = new Statek(4); statkiGracza1.Add(statek); statek = new Statek(4); statkiGracza1.Add(statek); statek = new Statek(3); statkiGracza1.Add(statek); statek = new Statek(3); statkiGracza1.Add(statek); statek = new Statek(2); statkiGracza1.Add(statek); statek = new Statek(2); statkiGracza1.Add(statek); statek = new Statek(1); statkiGracza1.Add(statek); statek = new Statek(1); statkiGracza1.Add(statek); List <Statek> statkiGracza2 = statek.KopiowanieKolekcji(statkiGracza1); //Utworzenie listy i klonowanie obiektów PlanszaStatkow planszaGracz1 = new PlanszaStatkow(); //Tworzenie indywidualnej planszy i rozstawienie statków dla każdego gracza. planszaGracz1.UstawStatki(ref statkiGracza1); PlanszaStatkow planszaGracz2 = new PlanszaStatkow(); planszaGracz2.Wyswietl(); planszaGracz2.UstawStatki(ref statkiGracza2); gra.Start(planszaGracz1, statkiGracza1, planszaGracz2, statkiGracza2); }
public void Start(PlanszaStatkow gracz1, List <Statek> statkiGracza1, PlanszaStatkow gracz2, List <Statek> statkiGracza2) { int ostrzalX, ostrzalY, warunekTrafienia; bool warunekWpisania = true; Console.Clear(); Console.SetCursorPosition(2, 0); Console.WriteLine("Rozpoczyna GRACZ1\n Nacisnij kalwisz"); Console.ReadKey(); do { warunekTrafienia = 1; for (int i = 0; warunekTrafienia == 1 && SprWygranej(gracz2) == 0; i++) { warunekWpisania = true; Console.Clear(); Console.SetCursorPosition(35, 0); Console.WriteLine("GRACZ1"); if (i == 0) { Console.WriteLine("Naciśnij klawisz"); Console.ReadKey(); } else { Console.WriteLine("TRAFIONY"); } gracz1.Wyswietl(gracz2); while (warunekWpisania) { Console.WriteLine("\nPodaj współrzędne do ostrzału: "); Console.WriteLine("Współrzędna y: "); Int32.TryParse(Console.ReadLine(), out ostrzalX); Console.WriteLine("Współrzędna x: "); Int32.TryParse(Console.ReadLine(), out ostrzalY); if (ostrzalX > 0 && ostrzalX < gracz1.PolaX && ostrzalY > 0 && ostrzalY < gracz1.PolaY) { warunekTrafienia = Ostrzal(ostrzalX, ostrzalY, ref gracz2, ref statkiGracza2); warunekWpisania = false; } } } warunekTrafienia = 1; for (int i = 0; warunekTrafienia == 1 && SprWygranej(gracz1) == 0 && SprWygranej(gracz2) == 0; i++) { warunekWpisania = true; Console.Clear(); Console.SetCursorPosition(35, 0); Console.WriteLine("GRACZ2"); if (i == 0) { Console.WriteLine("\nNaciśnij klawisz"); Console.ReadKey(); } else { Console.WriteLine("TRAFIONY"); } gracz2.Wyswietl(gracz1); while (warunekWpisania) { Console.WriteLine("\nPodaj współrzędne do ostrzału: "); Console.WriteLine("Współrzędna y: "); Int32.TryParse(Console.ReadLine(), out ostrzalX); Console.WriteLine("Współrzędna x: "); Int32.TryParse(Console.ReadLine(), out ostrzalY); if (ostrzalX > 0 && ostrzalX < gracz2.PolaX && ostrzalY > 0 && ostrzalY < gracz2.PolaY) { warunekTrafienia = Ostrzal(ostrzalX, ostrzalY, ref gracz1, ref statkiGracza1); warunekWpisania = false; } } } } while (SprWygranej(gracz1) == 0 && SprWygranej(gracz2) == 0); Console.Clear(); Console.WriteLine("KONIEC GRY"); if (SprWygranej(gracz1) == 1) { Console.WriteLine("Wygrał GRACZ2"); } if (SprWygranej(gracz2) == 1) { Console.WriteLine("Wygrał GRACZ1"); } Console.ReadKey(); }