private void Adozas(Orszag orszag)
        {
            var tanya = orszag.OrszagEpuletek.SingleOrDefault(o => o.Epulet.Name == "Tanya");
            var alkimia = orszag.OrszagFejlesztesek.SingleOrDefault(o => o.Fejlesztes.Name == "Alkímia");

            if (alkimia != null)
            {
                //1 tanya: 50 ember, 1 ember:  25 arany /kör, alkimia 30%-al több arany
                orszag.Arany += Convert.ToInt32((tanya == null ? 0 : tanya.Darab) * 50 * 25 * 1.3);
            }
            else
            {
                orszag.Arany += Convert.ToInt32((tanya == null ? 0 : tanya.Darab) * 50 * 25);
            }
        }
        private void Zsold(Orszag orszag)
        {
            var zsold = 0;
            foreach (var item in orszag.OrszagEgysegek)
            {
                zsold += item.Darab * item.Egyseg.Zsold;
            }

            orszag.Arany -= zsold;
        }
        private void Pontszam(Orszag orszag)
        {
            var tanya = orszag.OrszagEpuletek.SingleOrDefault(oe => oe.Epulet.Name == "Tanya");

            var tanyaszam = tanya == null ? 0 : tanya.Darab;

            var barakk = orszag.OrszagEpuletek.SingleOrDefault(oe => oe.Epulet.Name == "Barakk");

            var barakkszam = barakk == null ? 0 : barakk.Darab;

            var lovasijasz = orszag.OrszagEgysegek.Where(oe => oe.Egyseg.Name == "Lovas" || oe.Egyseg.Name == "Íjász").Sum(o => o.Darab);

            var elit = orszag.OrszagEgysegek.Where(oe => oe.Egyseg.Name == "Elit").Sum(o => o.Darab);

            var tudomany = orszag.OrszagFejlesztesek.Count();

            orszag.Pontszam =
                 tanyaszam * 50 // emberek száma*1
               + (tanyaszam + barakkszam) * 50 //épületek száma*50
               + lovasijasz * 5 //lovas, ijasz darab* 5
               + tudomany * 100 //fejlesztes * 100
               ;
        }
        private void Krumpli(Orszag orszag)
        {
            var tanya = orszag.OrszagEpuletek.SingleOrDefault(o => o.Epulet.Name == "Tanya");
            var traktor = orszag.OrszagFejlesztesek.SingleOrDefault(o => o.Fejlesztes.Name == "Traktor");
            var kombajn = orszag.OrszagFejlesztesek.SingleOrDefault(o => o.Fejlesztes.Name == "Kombájn");

            //1 tanya: 200 krumpli/kör, traktor 10%-al több krumpli, kombájn 15%-al több
            var szorzo = 1.0;

            if (traktor != null)
            {
                szorzo = szorzo * 1.1;
            }

            if (kombajn != null)
            {
                szorzo = szorzo * 1.15;
            }
            orszag.Krumpli += Convert.ToInt32((tanya == null ? 0 : tanya.Darab) * 200 * szorzo);
        }
        private void Ellatmany(Orszag orszag)
        {
            var ellatmany = 0;
            foreach (var item in orszag.OrszagEgysegek)
            {
                ellatmany += item.Darab * item.Egyseg.Ellatmany;
            }

            orszag.Krumpli -= ellatmany;
        }
        private bool Csata(Hadsereg hadsereg, Orszag celorszag, Orszag sajatorszag, List<Egyseg> lehetsegesEgysegek)
        {
            var tamadoszorzo = 1.0;
            var vedoszorzo = 1.0;

            //fejlesztések
            //sajatorzsag
            if (sajatorszag.OrszagFejlesztesek.Any(of => of.Fejlesztes.Id == 4)) //operaton rebirth
            {
                tamadoszorzo *= 1.2;
            }
            if (sajatorszag.OrszagFejlesztesek.Any(of => of.Fejlesztes.Id == 5)) //taktika
            {
                tamadoszorzo *= 1.1;
            }

            //celorszag
            if (celorszag.OrszagFejlesztesek.Any(of => of.Fejlesztes.Id == 3)) //operaton rebirth
            {
                vedoszorzo *= 1.2;
            }
            if (celorszag.OrszagFejlesztesek.Any(of => of.Fejlesztes.Id == 5)) //taktika
            {
                vedoszorzo *= 1.1;
            }

            //a hadseregek tamadoertekenek szamitasa
            var tamadoertek = hadsereg.HadseregEgysegek.Aggregate(0, (a, b) => a + b.Darab * b.Egyseg.Tamadas);

            tamadoertek = Convert.ToInt32(tamadoertek * tamadoszorzo);
            //celorszag vedoerteke
            var vedoegysegek = lehetsegesEgysegek.Select(e => new
            {

                Vedekezes = e.Vedekezes,
                JelenlegVan =
                celorszag.OrszagEgysegek.Where(oe => oe.Egyseg.Id == e.Id).Sum(oe => oe.Darab)  //összesegység
                - celorszag.SajatHadseregek.Sum(h => h.HadseregEgysegek.SingleOrDefault(he => he.Egyseg.Id == e.Id).Darab) //jelenleg hadseregben, tehát nem véd

            });

            var vedoertek = vedoegysegek.Aggregate(0, (a, b) => a + b.JelenlegVan * b.Vedekezes);

            vedoertek = Convert.ToInt32(vedoertek * vedoszorzo);

            var gyozelem = new bool();
            ////harc
            //győzelem
            if (tamadoertek > vedoertek)
            {
                gyozelem = true;
            }
            else //vereség
            {
                gyozelem = false;
            }
            return gyozelem;
        }