private long maxBrodova() { long rez = brod.kolicina; int planetI = lstvPlaneti.SelectedIndices[0]; for (int i = 0; i < brBrodova.Length; i++) { if (i != planetI) { rez -= brBrodova[i]; } } double planetMax = 0; if (zvijezda.planeti[planetI].kolonija == null) { Kolonija kolonija = new Kolonija(igrac, zvijezda.planeti[planetI], brodPopulacija, brodRadnaMjesta); planetMax = (kolonija.Efekti[Kolonija.PopulacijaMax] - dodatnaPopulacija[planetI]) / brodPopulacija; } else { Kolonija kolonija = zvijezda.planeti[planetI].kolonija; planetMax = (kolonija.Efekti[Kolonija.PopulacijaMax] - kolonija.Populacija - dodatnaPopulacija[planetI]) / brodPopulacija; } return((long)Math.Min(rez, Math.Ceiling(planetMax))); }
private void lstvPlaneti_SelectedIndexChanged(object sender, EventArgs e) { if (lstvPlaneti.SelectedItems.Count == 0) { return; } Planet planet = zvijezda.planeti[lstvPlaneti.SelectedIndices[0]]; if (planet.tip == Planet.Tip.NIKAKAV) { groupPlanet.Hide(); groupPoStan.Hide(); groupRude.Hide(); hscrBrBrodova.Hide(); lblBrBrodova.Hide(); lblBrStanovnika.Hide(); lblBrRadnihMjesta.Hide(); } else { groupPlanet.Show(); groupPoStan.Show(); groupRude.Show(); hscrBrBrodova.Show(); lblBrBrodova.Show(); lblBrStanovnika.Show(); lblBrRadnihMjesta.Show(); Kolonija kolonija = (planet.kolonija == null) ? new Kolonija(igrac, planet, brodPopulacija, brodRadnaMjesta) : planet.kolonija; Dictionary <string, ITekst> jezikKol = Postavke.Jezik[Kontekst.Kolonija]; Dictionary <string, ITekst> jezikPl = Postavke.Jezik[Kontekst.FormPlanetInfo]; lblVelicina.Text = jezikPl["plVelicina"].tekst() + ": " + Fje.PrefiksFormater(planet.velicina); lblGravitacija.Text = jezikPl["plGravitacija"].tekst() + ": " + String.Format("{0:0.##}", planet.gravitacija()); lblZracenje.Text = jezikPl["plZracenje"].tekst() + ": " + String.Format("{0:0.##}", planet.ozracenost()); lblAtmGustoca.Text = jezikPl["plAtmGustoca"].tekst() + ": " + String.Format("{0:0.##}", planet.gustocaAtmosfere); lblAtmKvaliteta.Text = jezikPl["plAtmKvaliteta"].tekst() + ": " + (int)(planet.kvalitetaAtmosfere * 100) + "%"; lblAtmoTemperatura.Text = jezikPl["plAtmTemperatura"].tekst() + ": " + String.Format("{0:0.##}", planet.temperatura()); lblKoefOrbitalne.Text = jezikPl["plCijenaOrbGradnje"].tekst() + ": x" + kolonija.Efekti[Kolonija.FaktorCijeneOrbitalnih].ToString("0.##"); lblMinPovrsina.Text = jezikKol["plMinPovrsina"].tekst() + ": " + String.Format("{0:0.##}", kolonija.Efekti[Kolonija.RudePovrsinske]); lblMinDubina.Text = jezikKol["plMinDubina"].tekst() + ": " + String.Format("{0:0.##}", kolonija.Efekti[Kolonija.RudeDubinske]); lblMinOstvareno.Text = jezikKol["plMinOstvareno"].tekst() + ": " + String.Format("{0:0.##}", kolonija.Efekti[Kolonija.RudeEfektivno]); Dictionary <string, double> maxEfekti = kolonija.maxEfekti(); lblHranaPoStan.Text = jezikKol["HranaPoStan"].tekst() + ": " + String.Format("{0:0.##} / {1:0.##}", kolonija.Efekti[Kolonija.HranaPoFarmeru], maxEfekti[Kolonija.HranaPoFarmeru]); lblRudePoStan.Text = jezikKol["RudePoStan"].tekst() + ": " + String.Format("{0:0.##} / {1:0.##}", kolonija.Efekti[Kolonija.RudePoRudaru], maxEfekti[Kolonija.RudePoRudaru]); lblOdrzavanjePoStan.Text = jezikKol["OdrzavanjePoStan"].tekst() + ": " + String.Format("{0:0.##}", (kolonija.Efekti[Kolonija.OdrzavanjeUkupno] / kolonija.Efekti[Kolonija.PopulacijaBr])); lblIndustrijaPoStan.Text = jezikKol["IndustrijaPoStan"].tekst() + ": " + String.Format("{0:0.##} / {1:0.##}", kolonija.Efekti[Kolonija.IndPoRadnikuEfektivno], maxEfekti[Kolonija.IndPoRadnikuEfektivno]); lblRazvojPoStan.Text = jezikKol["RazvojPoStan"].tekst() + ": " + String.Format("{0:0.##} / {1:0.##}", kolonija.Efekti[Kolonija.RazPoRadnikuEfektivno], maxEfekti[Kolonija.RazPoRadnikuEfektivno]); postaviBrBrodova(); } }
private void osvjeziLabele() { Kolonija kolonija = igrac.OdabranPlanet.kolonija; ZvjezdanaUprava sustav = igrac.OdabranSustav; Dictionary <string, ITekst> jezik = Postavke.Jezik[Kontekst.Kolonija]; if (kolonija != null) { lblHranaPoStan.Text = jezik["HranaPoStan"].tekst() + ": " + kolonija.Efekti[Kolonija.HranaPoFarmeru].ToString("0.##"); lblRudePoStan.Text = jezik["RudePoStan"].tekst() + ": " + kolonija.Efekti[Kolonija.RudePoRudaru].ToString("0.##"); lblOdrzavanjePoStan.Text = jezik["OdrzavanjePoStan"].tekst() + ": " + (kolonija.Efekti[Kolonija.OdrzavanjeUkupno] / kolonija.Efekti[Kolonija.PopulacijaBr]).ToString("0.##"); lblIndustrijaPoStan.Text = jezik["IndustrijaPoStan"].tekst() + ": " + kolonija.Efekti[Kolonija.IndPoRadnikuEfektivno].ToString("0.##"); lblRazvojPoStan.Text = jezik["RazvojPoStan"].tekst() + ": " + kolonija.Efekti[Kolonija.RazPoRadnikuEfektivno].ToString("0.##"); lblCivilnaIndustrija.Text = Fje.PrefiksFormater(kolonija.UtroseniPoeniIndustrije) + " " + jezik["jedInd"].tekst(); lblProcjenaCivilneGradnje.Text = kolonija.ProcjenaVremenaGradnje(); if (kolonija.RedGradnje.Count > 0) { btnCivilnaGradnja.Image = kolonija.RedGradnje.First.Value.slika; btnCivilnaGradnja.Text = ""; } else { btnCivilnaGradnja.Image = null; btnCivilnaGradnja.Text = jezik["Civilna_Gradnja"].tekst(); } } if (sustav != null) { sustav.IzracunajEfekte(); sustav.OsvjeziInfoGradnje(); lblVojnaGradnja.Text = Fje.PrefiksFormater(sustav.UtroseniPoeniIndustrije) + " " + jezik["jedInd"].tekst(); lblProcjenaVojneGradnje.Text = sustav.ProcjenaVremenaGradnje(); lblRazvoj.Text = jezik["lblRazvoj"].tekst() + Fje.PrefiksFormater(sustav.PoeniRazvoja); if (sustav.RedGradnje.Count > 0) { btnVojnaGradnja.Image = sustav.RedGradnje.First.Value.slika; btnVojnaGradnja.Text = ""; } else { btnVojnaGradnja.Image = null; btnVojnaGradnja.Text = jezik["Vojna_Gradnja"].tekst(); } } }
public FormPlanetInfo(Kolonija kolonija) : this() { this.kolonija = kolonija; this.Text = kolonija.ime; postaviTekstove(); picSlika.Image = kolonija.slika; Dictionary <string, ITekst> jezik = Postavke.Jezik[Kontekst.FormPlanetInfo]; lblVelicina.Text = jezik["plVelicina"].tekst() + ": " + Fje.PrefiksFormater(kolonija.planet.velicina); lblGravitacija.Text = jezik["plGravitacija"].tekst() + ": " + String.Format("{0:0.##}", kolonija.Efekti[Kolonija.Gravitacija]); lblZracenje.Text = jezik["plZracenje"].tekst() + ": " + String.Format("{0:0.##}", kolonija.Efekti[Kolonija.Zracenje]); lblAtmGustoca.Text = jezik["plAtmGustoca"].tekst() + ": " + String.Format("{0:0.##}", kolonija.Efekti[Kolonija.AtmGustoca]); lblAtmKvaliteta.Text = jezik["plAtmKvaliteta"].tekst() + ": " + (int)(kolonija.Efekti[Kolonija.AtmKvaliteta] * 100) + "%"; lblAtmTemperatura.Text = jezik["plAtmTemperatura"].tekst() + ": " + String.Format("{0:0.##}", kolonija.Efekti[Kolonija.Temperatura]); string predznak = ""; if (kolonija.Efekti[Kolonija.PopulacijaPromjena] < 0) { predznak = "-"; } else if (kolonija.Efekti[Kolonija.PopulacijaPromjena] > 0) { predznak = "+"; } Dictionary <string, ITekst> jezikKl = Postavke.Jezik[Kontekst.Kolonija]; lblPopBr.Text = jezikKl["plPopulacija"].tekst() + ": " + Fje.PrefiksFormater(kolonija.Efekti[Kolonija.PopulacijaBr]); lblPopDelta.Text = jezikKl["plPromjenaPop"].tekst() + ": " + predznak + Fje.PrefiksFormater(kolonija.Efekti[Kolonija.PopulacijaPromjena]); lblPopMax.Text = jezikKl["plPopMax"].tekst() + ": " + Fje.PrefiksFormater(kolonija.Efekti[Kolonija.PopulacijaMax]); lblMinPovrsina.Text = jezikKl["plMinPovrsina"].tekst() + ": " + String.Format("{0:0.##}", kolonija.Efekti[Kolonija.RudePovrsinske]); lblMinDubina.Text = jezikKl["plMinDubina"].tekst() + ": " + String.Format("{0:0.##}", kolonija.Efekti[Kolonija.RudeDubinske]); lblMinOstvareno.Text = jezikKl["plMinOstvareno"].tekst() + ": " + String.Format("{0:0.##}", kolonija.Efekti[Kolonija.RudeEfektivno]); lblOdrzavanjeGrav.Text = jezik["plGravitacija"].tekst() + ": " + Fje.PrefiksFormater(kolonija.Efekti[Kolonija.OdrzavanjeGravitacija]); lblOdrzavanjeZrac.Text = jezik["plZracenje"].tekst() + ": " + Fje.PrefiksFormater(kolonija.Efekti[Kolonija.OdrzavanjeZracenje]); lblOdrzavanjeKvalAtm.Text = jezik["plAtmKvaliteta"].tekst() + ": " + Fje.PrefiksFormater(kolonija.Efekti[Kolonija.OdrzavanjeAtmKvaliteta]); lblOdrzavanjeGustAtm.Text = jezik["plAtmGustoca"].tekst() + ": " + Fje.PrefiksFormater(kolonija.Efekti[Kolonija.OdrzavanjeAtmGustoca]); lblOdrzavanjeTempAtm.Text = jezik["plAtmTemperatura"].tekst() + ": " + Fje.PrefiksFormater(kolonija.Efekti[Kolonija.OdrzavanjeTemperatura]); lblOdrzavanjeZgrada.Text = jezik["plZgrade"].tekst() + ": " + Fje.PrefiksFormater(kolonija.Efekti[Kolonija.OdrzavanjeZgrada]); lblOdrzavanjeUkupno.Text = jezik["ukupno"].tekst() + ": " + Fje.PrefiksFormater(kolonija.Efekti[Kolonija.OdrzavanjeUkupno]); lblZgradaInfo.Text = ""; osvjeziPogledNaKoloniju(); }
private void odaberiDruguKoloniju(int smjer) { Zvijezda zvj = igrac.OdabranPlanet.zvjezda; for (int planetIndeks = igrac.OdabranPlanet.pozicija + smjer; planetIndeks >= 0 && planetIndeks < zvj.planeti.Count; planetIndeks += smjer) { Kolonija kolonija = zvj.planeti[planetIndeks].kolonija; if (kolonija != null && kolonija.Igrac == igrac) { odaberiPlanet(zvj.planeti[planetIndeks], false); return; } } }
public FormPlanetInfo(Igrac igrac, Planet planet) : this() { this.kolonija = new Kolonija(igrac, planet, 100000, 0); this.Text = planet.ime; postaviTekstove(); lblPrikaz.Visible = false; radKolicina.Visible = false; radPostotak.Visible = false; picSlika.Image = planet.slika; Dictionary <string, ITekst> jezik = Postavke.Jezik[Kontekst.FormPlanetInfo]; lblVelicina.Text = jezik["plVelicina"].tekst() + ": " + Fje.PrefiksFormater(planet.velicina); lblGravitacija.Text = jezik["plGravitacija"].tekst() + ": " + String.Format("{0:0.##}", planet.gravitacija()); lblZracenje.Text = jezik["plZracenje"].tekst() + ": " + String.Format("{0:0.##}", planet.ozracenost()); lblAtmGustoca.Text = jezik["plAtmGustoca"].tekst() + ": " + String.Format("{0:0.##}", planet.gustocaAtmosfere); lblAtmKvaliteta.Text = jezik["plAtmKvaliteta"].tekst() + ": " + (int)(planet.kvalitetaAtmosfere * 100) + "%"; lblAtmTemperatura.Text = jezik["plAtmTemperatura"].tekst() + ": " + String.Format("{0:0.##}", planet.temperatura()); lblKoefOrbitalne.Text = jezik["plCijenaOrbGradnje"].tekst() + ": x" + kolonija.Efekti[Kolonija.FaktorCijeneOrbitalnih].ToString("0.##"); Dictionary <string, ITekst> jezikKl = Postavke.Jezik[Kontekst.Kolonija]; lblPopBr.Text = jezikKl["plNenaseljeno"].tekst(); lblPopDelta.Text = ""; lblPopMax.Text = ""; lblRadnaMjesta.Text = ""; tabControl.TabPages.Clear(); tabControl.TabPages.Add(tabPageResursi); groupRadnici.Hide(); lblMinPovrsina.Text = jezikKl["plMinPovrsina"].tekst() + ": " + String.Format("{0:0.##}", kolonija.Efekti[Kolonija.RudePovrsinske]); lblMinDubina.Text = jezikKl["plMinDubina"].tekst() + ": " + String.Format("{0:0.##}", kolonija.Efekti[Kolonija.RudeDubinske]); lblMinOstvareno.Text = jezikKl["plMinOstvareno"].tekst() + ": " + String.Format("{0:0.##}", kolonija.Efekti[Kolonija.RudeEfektivno]); }
public static Poruka NovaZgrada(Kolonija kolonija, Zgrada.ZgradaInfo zgrada) { return(new PorukaZgradaKolonija(kolonija.planet, zgrada)); }
public static Poruka NovaKolonija(Kolonija kolonija) { return(new PorukaKolonija(kolonija.planet)); }