Esempio n. 1
0
        /// <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;
            }
        }