/// <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!"); } }
/// <summary> /// Inicializ�cia v�roby. Pre ka�d� druh, je vykonan� nie�o in� /// </summary> /// <param name="paDruh"></param> /// <param name="paPoloha"></param> public Vyroba(DruhVyroby paDruh, Poloha paPoloha) { aDok = null; aPrilahlaStanica = null; Poloha = paPoloha; OdsadenieZLava = Poloha.Stlpec * Policko.cVelkostPolicka; OdsadenieZHora = Poloha.Riadok * Policko.cVelkostPolicka; aPrijma = new List<TypPrepravJednotky>(); aProdukuje = new Dictionary<TypPrepravJednotky, int>(); aDruhVyroby = paDruh; switch (paDruh) { case DruhVyroby.Elektraren: NastavObrazok(Resources.el, "el"); aPrijma.Add(TypPrepravJednotky.uhlie); break; case DruhVyroby.Farma: NastavObrazok(Resources.farm, "farm"); aProdukuje.Add(TypPrepravJednotky.dobytok, cStrProd); aProdukuje.Add(TypPrepravJednotky.obilie, cStrProd); break; case DruhVyroby.Les: NastavObrazok(Resources.forest, "forest"); aProdukuje.Add(TypPrepravJednotky.drevo, cStrProd); break; case DruhVyroby.Oceliaren: NastavObrazok(Resources.oceliaren, "oceliaren"); aPrijma.Add(TypPrepravJednotky.zeleznaRuda); aProdukuje.Add(TypPrepravJednotky.ocel, 0); break; case DruhVyroby.Pila: NastavObrazok(Resources.sawmill, "sawmill"); aPrijma.Add(TypPrepravJednotky.drevo); aProdukuje.Add(TypPrepravJednotky.tovar, 0); break; case DruhVyroby.RopnaRafineria: NastavObrazok(Resources.rafineria, "rafineria"); aPrijma.Add(TypPrepravJednotky.ropa); aProdukuje.Add(TypPrepravJednotky.tovar, 0); break; case DruhVyroby.Tovaren: NastavObrazok(Resources.farctory, "farctory"); aPrijma.Add(TypPrepravJednotky.ocel); aPrijma.Add(TypPrepravJednotky.dobytok); aPrijma.Add(TypPrepravJednotky.obilie); aProdukuje.Add(TypPrepravJednotky.tovar, 0); break; case DruhVyroby.UholnaBana: NastavObrazok(Resources.mineCoalM, "mineCoalM"); aProdukuje.Add(TypPrepravJednotky.uhlie, cStrProd); break; case DruhVyroby.ZelezorudnaBana: NastavObrazok(Resources.mineRudaM, "mineRudaM"); aProdukuje.Add(TypPrepravJednotky.zeleznaRuda, cStrProd); break; case DruhVyroby.RopnaPlosina: NastavObrazok(Resources.oilPlat, "oilPlat"); aProdukuje.Add(TypPrepravJednotky.ropa, cStrProd); aDok = new Dok(Poloha); Zoskupenie = new ZoskupenieStanic(); Zoskupenie.PridajStanicu(aDok); Zoskupenie.PridajVyrobu(this); aDok.Zoskupenie = Zoskupenie; break; case DruhVyroby.Mesto: NastavObrazok(Resources.city, "city"); aPrijma.Add(TypPrepravJednotky.tovar); aPrijma.Add(TypPrepravJednotky.cestujuci); aPrijma.Add(TypPrepravJednotky.posta); aProdukuje.Add(TypPrepravJednotky.cestujuci, 0); aProdukuje.Add(TypPrepravJednotky.posta, 0); break; } this.ZmenProdukciu(); }