/// <summary> /// Kirajzolja a csatamezőt és az egyes játékosok statisztikáit. /// </summary> /// <param name="csatamezo">Csatamező</param> /// <param name="j1">Játékos 1</param> /// <param name="j2">Játékos 2</param> public static void CsatamezotKirajzol(Csatamezo csatamezo, Jatekos j1, Jatekos j2) { VonalatRajzol(0, ConsoleColor.DarkCyan); SortKirajzol(1, csatamezo.J1Lapjai); Console.SetCursorPosition(66, 2); Console.Write($"{j1.Nev.ToUpper()}"); Console.SetCursorPosition(66, 3); Console.Write($"Pontok: {csatamezo.Jatekos1Pontjai}"); Console.SetCursorPosition(66, 4); Console.Write($"Életek: {j1.EletekSzama}"); VonalatRajzol(7, ConsoleColor.DarkCyan); SortKirajzol(8, csatamezo.J2Lapjai); Console.SetCursorPosition(66, 9); Console.Write($"{j2.Nev.ToUpper()}"); Console.SetCursorPosition(66, 10); Console.Write($"Pontok: {csatamezo.Jatekos2Pontjai}"); Console.SetCursorPosition(66, 11); Console.Write($"Életek: {j2.EletekSzama}"); VonalatRajzol(15, ConsoleColor.DarkCyan); SortKirajzol(16, csatamezo.IdojarasLapok); Console.SetCursorPosition(66, 19); Console.Write("IDŐJÁRÁS"); VonalatRajzol(22, ConsoleColor.DarkCyan); }
/// <summary> /// Gyengíti az adott típusú kártyákat (értékük 1 lesz). /// </summary> /// <param name="gyengitettTipus">A gyengített kártya típus.</param> public void Gyengit(LapTipus gyengitettTipus, Csatamezo csatamezo) { for (int i = 0; i < csatamezo.J1Lapjai.Length; i++) { // Játékos 1 lerakott lapjait gyengíti if (csatamezo.J1Lapjai[i] != null && csatamezo.J1Lapjai[i].Tipus == gyengitettTipus) { csatamezo.J1Lapjai[i].Gyengitett = true; } // Játékos 2 lerakott lapjait gyengítí if (csatamezo.J2Lapjai[i] != null && csatamezo.J2Lapjai[i].Tipus == gyengitettTipus) { csatamezo.J2Lapjai[i].Gyengitett = true; } } }
/// <summary> /// Aktiválja a lap hatását a mezőn elhelyezett lapokra. Gyengít vagy visszaállít mindent. /// </summary> public void Aktival(Csatamezo csatamezo) { if (this.Tipus == LapTipus.Eso) { Gyengit(LapTipus.Harcigep, csatamezo); } else if (this.Tipus == LapTipus.Kod) { Gyengit(LapTipus.Tavolsagi, csatamezo); } else if (this.Tipus == LapTipus.Fagy) { Gyengit(LapTipus.Gyalogos, csatamezo); } else if (this.Tipus == LapTipus.Napsutes) { Visszaallit(csatamezo); } }
/// <summary> /// Visszaállítja az összes mezőny lap harci értékét és eltűnteti az időjárás lapokat. /// </summary> /// <param name="csatamezo"></param> public void Visszaallit(Csatamezo csatamezo) { // Értékek visszaállításra alapra for (int i = 0; i < 5; i++) { // Játékos 1 lerakott lapjai if (csatamezo.J1Lapjai[i] != null) { csatamezo.J1Lapjai[i].Gyengitett = false; } // Játékos 2 lerakott lapjai if (csatamezo.J2Lapjai[i] != null) { csatamezo.J2Lapjai[i].Gyengitett = false; } } // Minden időjárás lap eltüntetése for (int i = 0; i < csatamezo.IdojarasLapok.Length; i++) { csatamezo.IdojarasLapok[i] = null; } }