示例#1
0
 /// <summary>
 /// Konstruktor
 /// Iicializálja a támadást
 /// </summary>
 /// <param name="katonasag">Támadó Katonai egysége</param>
 /// <param name="tamadott_jatekos_id">Támadott játékos ID-je</param>
 public static void TamadasInditas(KatonaiEgyseg katonasag, int tamadott_jatekos_id)
 {
     Logger.Log("Támadás menetideje : " + MenetidoSzamitas(katonasag));
     foreach (Lakos item in katonasag.Katonak)
     {
         item.ItthonVan = false;
     }
     TevekenysegController.AddTevekenyseg(
         MenetidoSzamitas(katonasag),
         () => Csata.Csatazas(katonasag, Jatek.GetJatekosById(tamadott_jatekos_id).Vedekezik()));
 }
示例#2
0
        /// <summary>
        /// Csata lemeneteléért felel:
        /// Ha a védő erő kisebb mint a támadó, akkor támadó nyert
        /// Ellenkező esetben védő nyert
        /// </summary>
        public static void Csatazas(KatonaiEgyseg tamadas, KatonaiEgyseg vedekezes)
        {
            Logger.Log("Csata elkezdődött");
            /// ne kelljen mindig lekérni a Jatek-tól az aktuálisan kívánt játkost
            Jatekos vedekezo = Jatek.GetJatekosById(vedekezes.Jatekos_Id);

            if (tamadas.Erő > vedekezes.Erő)
            {
                vedekezo.Veszit();
                Logger.Log("Támadó játékos ID: " + tamadas.Jatekos_Id + "nyert");
            }
            else
            {
                Logger.Log("Támadó játékos ID: " + tamadas.Jatekos_Id + "vesztett");
                /// Rendezi a katonákat erő szerint
                /// Hogy Gyilkolásban a minimumkeresés-nél ne kelljen mindig végigfutni a listán
                vedekezes.Katonak.Sort((x, y) => y.VedoErtek.CompareTo(x.VedoErtek));
                Gyilkol(tamadas, vedekezes);
                // visszatérés
                vedekezo.KatonakHazaternek(vedekezes);
            }
        }
示例#3
0
 private static void Main(string[] args)
 {
     Jatek.Play();
     Console.ReadKey();
 }