private static void ZapiszStrzal(ModelGracza aktywnyGracz, ModelGracza przeciwnik) { bool czyPoprawnyStrzal = false; string wiersz = ""; int kolumna = 0; do { string strzal = ZapytajOKoordynatyDoStrzalu(aktywnyGracz); try { (wiersz, kolumna) = LogikaGry.PodzialNaKolumnyIWiersze(strzal); czyPoprawnyStrzal = LogikaGry.WalidacjaStrzalu(aktywnyGracz, wiersz, kolumna); } catch (Exception ex) { Console.WriteLine("Błąd: " + ex.Message); czyPoprawnyStrzal = false; } if (czyPoprawnyStrzal == false) { Console.WriteLine("Błędne miejsce strzały. Spróbuj ponownie"); } } while (czyPoprawnyStrzal == false); bool czyTrafiony = LogikaGry.RezultatStrzaluAktywnegoGracza(przeciwnik, wiersz, kolumna); LogikaGry.RezultatStrzaluPrzeciwnik(aktywnyGracz, wiersz, kolumna, czyTrafiony); WyswietlRezultatStrzalu(wiersz, kolumna, czyTrafiony); }
static void Main(string[] args) { StyleGry.StatkiTytułStart(); EkranKonsoli.WiadomoscPowitalna(); ModelGracza aktywnyGracz = EkranKonsoli.TworzenieGracza("Gracz 1"); ModelGracza przeciwnik = EkranKonsoli.TworzenieGracza("Gracz 2"); ModelGracza zwyciezca = null; do { WyswietelMiejsceStrzalu(aktywnyGracz); ZapiszStrzal(aktywnyGracz, przeciwnik); bool czyGraDalejTrwa = LogikaGry.AktywnyGracz(przeciwnik); if (czyGraDalejTrwa == true) { // Zamiana aktywnego gracza (aktywnyGracz, przeciwnik) = (przeciwnik, aktywnyGracz); } else { zwyciezca = aktywnyGracz; } } while (zwyciezca == null); ZidentyfikujWygranego(zwyciezca); Console.ForegroundColor = ConsoleColor.Blue; WyswietelMiejsceStrzalu(zwyciezca); StyleGry.StatkiTytułKoniec(); Console.ReadLine(); }
// prywatne metody private static void ZidentyfikujWygranego(ModelGracza zwyciezca) { Console.WriteLine($" Gratulacje dla {zwyciezca.Nick} za wygraną!"); Console.WriteLine($" {zwyciezca.Nick} potrzebował {LogikaGry.LicznikStrzalow(zwyciezca)} strzałów."); Console.WriteLine(); }