Example #1
0
        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)));
        }
Example #2
0
        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();
            }
        }
Example #3
0
        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();
        }
Example #5
0
        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]);
        }
Example #7
0
 public static Poruka NovaZgrada(Kolonija kolonija, Zgrada.ZgradaInfo zgrada)
 {
     return(new PorukaZgradaKolonija(kolonija.planet, zgrada));
 }
Example #8
0
 public static Poruka NovaKolonija(Kolonija kolonija)
 {
     return(new PorukaKolonija(kolonija.planet));
 }