コード例 #1
0
        public void PostavStanicu(int upresnenieCinnosti)
        {
            Spolocnost spol = Hra.DajInstanciu().Spolocnost;
            try
            {
                ZeleznicnaStanica zelSt;
                if (aZastavane != null)
                {
                    Zeleznica z = (Zeleznica)aZastavane;
                    if (upresnenieCinnosti == (int)SmerZast.horizontalny && z.Orientacia == SmerInf.horizontalny)
                    {
                        zelSt = new ZeleznicnaStanica(aPoloha, SmerZast.horizontalny);
                    }
                    else
                    {
                        zelSt = new ZeleznicnaStanica(aPoloha, SmerZast.vertikalny);
                    }
                    if (spol.OverVydavok(-zelSt.Cena) && OverOkolieStaniceZoskupenia(zelSt, 1, 1))
                    {
                        aZastavane = zelSt;
                        Hra.DajInstanciu().DajHernuPlochu().PrejdiPolicka();
                        spol.UpravFinancie(-zelSt.Cena);
                    }
                }
                else
                {
                    Sprava.Info("Nie je mozne postavit stanicu");
                }
            }
            catch (InvalidCastException e)
            {
                Sprava.Info("Nie je mozne postavit stanicu");
            }

        }
コード例 #2
0
        /// <summary>
        /// Vэstavba zбstavky pre cestnй vozidlб
        /// </summary>
        /// <param name="upresnenieCinnosti">ktorб z nich</param>
        public void PostavZastavku(int upresnenieCinnosti)
        {
            Spolocnost spol = Hra.DajInstanciu().Spolocnost;
            try 
            {
                Zastavka zast;

                if (aZastavane != null)
                {
                    Cesta c = (Cesta)aZastavane;
                    if (upresnenieCinnosti == (int)SmerZast.horizontalny && c.Orientacia == SmerCesty.vodorovne)
                    {
                        zast = new Zastavka(aPoloha, SmerZast.horizontalny);
                    }
                    else
                    {
                        zast = new Zastavka(aPoloha, SmerZast.vertikalny);
                    }
                    if (spol.OverVydavok(-zast.Cena) && OverOkolieStaniceZoskupenia(zast, 1, 1))
                    {
                        aZastavane = zast;
                        Hra.DajInstanciu().DajHernuPlochu().PrejdiPolicka();
                        spol.UpravFinancie(-zast.Cena);
                    }
                }
            }catch (InvalidCastException e)
            {
                Sprava.Info("Nie je mozne postavit zastavku");
            }
           
        }
コード例 #3
0
 /// <summary>
 /// Vэstavba bуje
 /// </summary>
 public void PostavBoju() {
     Spolocnost spol = Hra.DajInstanciu().Spolocnost;
     if(!aPevnina && aZastavane == null && aVyroba == null){
         Boja boj = new Boja(aPoloha);
         if (spol.UpravFinancie(-boj.Cena)) 
         {
             aZastavane = boj;
         }
     }
 }
コード例 #4
0
        /// <summary>
        /// Vybъranie obsahu polниky, je rozdiel, иi to volб hrби, alebo hra
        /// </summary>
        /// <param name="paVyvolalUzivatel">иi to volб hrби</param>
        public void Zburaj(bool paVyvolalUzivatel)
        {
            Spolocnost spol = Hra.DajInstanciu().Spolocnost;
            if (aVyroba == null && aZastavane != null)
            {
                if (spol.UpravFinancie(-aZastavane.NakladyNaZburanie))
                {
                    if (aZastavane is MiestoZastavenia)
                    {
                        if (!(aZastavane as MiestoZastavenia).MozemZburat)
                        {
                            Sprava.Info("Nie je moЮnй zbъraЭ miesto zastavenia! \r\n EЪte je zaradenй v zozneme cieЊov!");
                            return;
                        }
                    }

                    if (aZastavane is Stanica)
                    {
                        Policko[,] matica = Hra.DajInstanciu().DajHernuPlochu().DajMaticu();
                        if ((aZastavane as Stanica).Odstavene.Any())
                        {
                            Sprava.Info("Nie je moЮnй zbъraЭ stanicu! \r\n Nachбdzajъ sa tam dopravnй prostriedky!");
                            return;
                        }
                        (aZastavane as Stanica).Zburaj();
                        Infrastruktura zast = aZastavane;

                        for (int riadok = 0; riadok < HernaPlocha.PocetRiadkov; riadok++)
                        {
                            for (int stlpec = 0; stlpec < HernaPlocha.PocetStlpcov; stlpec++)
                            {
                                if (matica[riadok, stlpec].Zastavane != null &&
                                    matica[riadok, stlpec].Zastavane.Equals(zast))
                                {
                                    matica[riadok, stlpec].Zastavane = null;
                                }
                            }

                        }
                    }
                    if (Prostriedky())
                    {
                        Sprava.Info("Nie je moЮnй zbъraЭ obsah polниka! \r\n Nachбdzajъ sa tam dopravnй prostriedky!");
                        return;
                    }
                    aZastavane = null;
                    Hra.DajInstanciu().DajHernuPlochu().PrejdiPolicka();
                }
            }
            else
            {
                if (paVyvolalUzivatel) Sprava.Info("Nie je moЮnй zbъraЭ!");
            }
        }
コード例 #5
0
        /// <summary>
        /// Vэstavba doku
        /// </summary>
        /// <param name="paSmer">jeho smer</param>
        public void PostavDok(int paSmer)
        {
            Policko[,] matica = Hra.DajInstanciu().DajHernuPlochu().DajMaticu();
            Dok dk = null;
            Spolocnost spol = Hra.DajInstanciu().Spolocnost;
            if (MozemStavat())
            {
                switch (paSmer)
                {
                    case (int)SmerDoku.dole:
                        if (!matica[aPoloha.Riadok + 1, aPoloha.Stlpec].aPevnina && matica[aPoloha.Riadok + 1, aPoloha.Stlpec].aZastavane == null)
                        {
                            dk = new Dok(aPoloha, SmerDoku.dole);
                        }
                        break;

                    case (int)SmerDoku.hore:
                        if (!matica[aPoloha.Riadok - 1, aPoloha.Stlpec].aPevnina && matica[aPoloha.Riadok - 1, aPoloha.Stlpec].aZastavane == null)
                        {
                            dk = new Dok(aPoloha, SmerDoku.hore);
                        }
                        break;

                    case (int)SmerDoku.vpravo:
                        if (!matica[aPoloha.Riadok, aPoloha.Stlpec + 1].aPevnina && matica[aPoloha.Riadok, aPoloha.Stlpec + 1].aZastavane == null)
                        {
                            dk = new Dok(aPoloha, SmerDoku.vpravo);
                        }
                        break;

                    case (int)SmerDoku.vlavo:
                        if (!matica[aPoloha.Riadok, aPoloha.Stlpec - 1].aPevnina && matica[aPoloha.Riadok, aPoloha.Stlpec - 1].aZastavane == null)
                        {
                            dk = new Dok(aPoloha, SmerDoku.vlavo);
                        }
                        break;
                }
                if ( dk != null && spol.OverVydavok(-dk.Cena) && OverOkolieStaniceZoskupenia(dk, 1, 1))
                {
                    aZastavane = dk;
                    spol.UpravFinancie(-dk.Cena);
                }
                else
                {
                    Sprava.Info("Nie je moЮnб vэstavba doku!");
                }
            }
            else
            {
                Sprava.Info("Nie je moЮnб vэstavba doku!");
            }
            
        }
コード例 #6
0
 /// <summary>
 /// vэstavby cersty
 /// </summary>
 /// <param name="paSmer">smer</param>
 public void PostavCestu(int paSmer) {
     Spolocnost spol = Hra.DajInstanciu().Spolocnost;
     if (paSmer > 0 && paSmer <= Enum.GetNames(typeof(SmerCesty)).Length)
     {
         if (this.MozemStavat())
         {
             this.Zburaj(false);
             Cesta cest = new Cesta((SmerCesty)paSmer, aPoloha);
             if(spol.UpravFinancie(-cest.Cena)){
                 aZastavane = cest;
                 Hra.DajInstanciu().DajHernuPlochu().PrejdiPolicka();
             }
         }
     }
     else 
     {
         Console.WriteLine("Nie je mozne stavat");
     }
 }
コード例 #7
0
        /// <summary>
        /// Vytvorenie polниka, poliиko sa pri vytvбranн rozhoduje, иi bude maЭ na sebe prнrodnэ prvok, alebo nie
        /// </summary>
        /// <param name="paPoloha">poloha polниka</param>
        /// <param name="paPevnina"> иi je pevnina</param>
        public Policko(Poloha paPoloha, bool paPevnina)
        {
            aPoloha = paPoloha;
            aZastavane = null;
            aPevnina = paPevnina;
            aDopravneProst = new List<DopravnyProstriedok>();
            if (aPevnina == true)
            {
                NastavObrazok(Resources.grass, "grass");
                if (Nahoda.NahodneCislo0az1() < 0.2)
                {
                    aZastavane = new Priroda(aPoloha); 
                }
            }
            else {
                NastavObrazok(Resources.water, "water");
            }

            OdsadenieZLava = aPoloha.Stlpec * Policko.cVelkostPolicka;
            OdsadenieZHora = aPoloha.Riadok * Policko.cVelkostPolicka;
		}