private void prikazStita(IKomponenta komponentaObj) { Trup trup = ((TagTekst <Trup>)cbOpVelicine.SelectedItem).tag; Stit stit = (Stit)komponentaObj; stit = stit.info.naciniKomponentu(stit.nivo, trup.VelicinaStita); Dictionary <string, ITekst> jezik = Postavke.Jezik[Kontekst.FormFlote]; StringBuilder sb = new StringBuilder(txtOpOpis.Text); sb.AppendLine(); sb.AppendLine(); sb.AppendLine(jezik["opisStitIzd"].tekst() + ": " + Fje.PrefiksFormater(stit.izdrzljivost * trup.BazaStita)); sb.AppendLine(jezik["opisStitDeb"].tekst() + ": " + Fje.PrefiksFormater(stit.debljina)); sb.AppendLine(jezik["opisStitUbl"].tekst() + ": " + Fje.PrefiksFormater(stit.ublazavanjeStete, jezik["opisStitUblInf"].tekst())); sb.AppendLine(jezik["opisStitObn"].tekst() + ": " + Fje.PrefiksFormater(stit.obnavljanje * trup.BazaStita)); sb.AppendLine(jezik["opisStitOm"].tekst() + ": " + stit.ometanje.ToString("+0;-0")); sb.AppendLine(jezik["opisStitPrik"].tekst() + ": +" + Fje.PrefiksFormater(stit.prikrivanje)); sb.AppendLine(); jezik = Postavke.Jezik[Kontekst.FormTech]; sb.AppendLine(jezik["opCijena"].tekst() + ": " + Fje.PrefiksFormater(stit.cijena)); sb.AppendLine(jezik["opSnaga"].tekst() + ": " + Fje.PrefiksFormater(stit.snaga)); sb.AppendLine(jezik["opVelicina"].tekst() + ": " + Fje.PrefiksFormater(trup.VelicinaStita)); txtOpOpis.Text = sb.ToString(); }
public static List <long> RasporedPoena(long ukupnoPoena, int brTehnologija, double koncentracija) { List <long> ret = new List <long>(); double suma = Fje.IntegralPolinoma(1, koncentracija); long ostaliPoeni = ukupnoPoena; for (int i = 0; i < brTehnologija; i++) { long ulog; if (i == brTehnologija - 1) { ulog = ostaliPoeni; } else { double x0 = (brTehnologija - i - 1) / (double)brTehnologija; double x1 = (brTehnologija - i) / (double)brTehnologija; ulog = (long)(ukupnoPoena * (Fje.IntegralPolinoma(x1, koncentracija) - Fje.IntegralPolinoma(x0, koncentracija)) / suma); } ostaliPoeni -= ulog; ret.Add(ulog); } return(ret); }
public Planet(Tip tip, int pozicija, Zvijezda zvjezda, double velicina, double kvalitetaAtmosfere, double gustocaAtmosfere, double mineraliPovrsinski, double mineraliDubinski) { this.tip = tip; this.zvjezda = zvjezda; this.pozicija = pozicija; if (zvjezda != null) { ime = zvjezda.ime + " " + rimskiBrojevi[pozicija]; } else { ime = ""; } this.kolonija = null; this.velicina = (int)(Fje.IzIntervala(velicina, tipovi[tip].velicinaMin, tipovi[tip].velicinaMax)); this.kvalitetaAtmosfere = kvalitetaAtmosfere; this.gustocaAtmosfere = Fje.IzIntervala(gustocaAtmosfere, minGustocaAtmosfere(), maxGustocaAtmosfere()); this.mineraliPovrsinski = Fje.IzIntervala(mineraliPovrsinski, tipovi[tip].povrsinskiMineraliMin, tipovi[tip].povrsinskiMineraliMax); this.mineraliDubinski = Fje.IzIntervala(mineraliDubinski, this.mineraliPovrsinski, tipovi[tip].dubinskiMineraliMax); if (this.mineraliDubinski - this.mineraliPovrsinski > tipovi[tip].mineraliMaxRazlika) { this.mineraliDubinski = this.mineraliPovrsinski + tipovi[tip].mineraliMaxRazlika; } if (zvjezda != null) { slika = Slike.OdrediSlikuPlaneta(tip, this.gustocaAtmosfere, this.kvalitetaAtmosfere, this.temperatura()); } else { slika = null; } }
int odrediPomakScrolla(int sirinaKlijenta, int sirinaPrikaza, ScrollProperties scroll, int zeljenaPozicija, double brzina) { if (sirinaPrikaza >= sirinaKlijenta) { return(0); } double skala = (sirinaKlijenta - sirinaPrikaza) / (double)(scroll.Maximum - scroll.LargeChange); int pozicijaPrikaza = sirinaPrikaza / 2 + (int)(scroll.Value * skala); zeljenaPozicija = Fje.Ogranici(zeljenaPozicija, sirinaPrikaza / 2 + 1, sirinaKlijenta - sirinaPrikaza / 2 - 1); double delta = zeljenaPozicija - pozicijaPrikaza; if (brzina == 0) { return((int)delta); } if (Math.Abs(delta) < brzina + 2) { if (Math.Abs(delta) < 2) { return((int)(delta * skala)); } else { return(Math.Sign(delta)); } } else { return((int)(delta / (brzina * skala))); } }
private void inicijalizirajEfekte(Dictionary <string, double> efekti) { efekti[PopulacijaBr] = populacija; efekti[PopulacijaMax] = 10000000 * (Math.Pow(planet.velicina, 1.5)); efekti[PopulacijaPromjena] = populacija * Igrac.efekti["NATALITET"]; efekti[RadnaMjesta] = radnaMjesta; efekti[RadnaMjestaDelta] = 0; efekti[AktivnaRadnaMjesta] = Math.Min(populacija, radnaMjesta); efekti[MigracijaMax] = 0; if (!efekti.ContainsKey(PopulacijaVisak)) { efekti[PopulacijaVisak] = 0; } efekti[RudeDubina] = (planet.tip == Planet.Tip.ASTEROIDI) ? 1 : Igrac.efekti["DUBINA_RUDARENJA"]; efekti[RudeDubinske] = planet.mineraliDubinski; efekti[RudeEfektivno] = Fje.IzIntervala(efekti[RudeDubina], planet.mineraliPovrsinski, planet.mineraliDubinski); efekti[RudePovrsinske] = planet.mineraliPovrsinski; efekti[VelicinaPlaneta] = planet.velicina; efekti[Gravitacija] = planet.gravitacija(); efekti[Zracenje] = planet.ozracenost(); efekti[Temperatura] = planet.temperatura(); efekti[AtmGustoca] = planet.gustocaAtmosfere; efekti[AtmKvaliteta] = planet.kvalitetaAtmosfere; efekti[NedostupanDioPlaneta] = 1; efekti[TeraformGravitacija] = 0; efekti[TeraformZracenje] = 0; efekti[TeraformTemperatura] = 0; efekti[TeraformAtmGustoca] = 0; efekti[TeraformAtmKvaliteta] = 0; }
public void prikaziFlotu(Zvijezda zvijezda) { Dictionary <string, ITekst> jezik = Postavke.Jezik[Kontekst.FormIgra]; tvFlota.Nodes.Clear(); tvFlota.ImageList.Images.Clear(); foreach (Igrac _igrac in igra.igraci) { tvFlota.ImageList.Images.Add(Slike.FlotaTabBoja[_igrac.boja]); } foreach (Igrac _igrac in igra.igraci) { if (_igrac.floteStacionarne.ContainsKey(zvijezda)) { Flota flota = _igrac.floteStacionarne[zvijezda]; TreeNode nodeStacionarnaFloata = new TreeNode(jezik["flotaObrana"].tekst(null)); nodeStacionarnaFloata.ImageIndex = _igrac.id; nodeStacionarnaFloata.Tag = flota; tvFlota.Nodes.Add(nodeStacionarnaFloata); foreach (Brod brod in flota.brodovi.Values) { TreeNode node = new TreeNode(brod.dizajn.ime + " x " + Fje.PrefiksFormater(brod.kolicina)); tvFlota.ImageList.Images.Add(brod.dizajn.trup.slika); node.ImageIndex = tvFlota.ImageList.Images.Count - 1; node.SelectedImageIndex = node.ImageIndex; node.Tag = brod; nodeStacionarnaFloata.Nodes.Add(node); } } } tvFlota.ExpandAll(); postaviAkcijeBroda(); }
private void prikazOruzja(IKomponenta komponentaObj) { Dictionary <string, ITekst> jezik = Postavke.Jezik[Kontekst.FormTech]; Oruzje oruzje = (Oruzje)komponentaObj; Misija misija = Misija.Opisnici[oruzje.misija]; StringBuilder sb = new StringBuilder(txtOpOpis.Text); sb.AppendLine(); sb.AppendLine(); for (int paramI = 0; paramI < misija.brParametara; paramI++) { Misija.Parametar parametar = misija.parametri[paramI]; sb.Append(parametar.opis); if (parametar.tip == Misija.TipParameta.Cijelobrojni) { sb.AppendLine(": " + Fje.PrefiksFormater(oruzje.parametri[paramI])); } else if (parametar.tip == Misija.TipParameta.Postotak) { sb.AppendLine(": x" + oruzje.parametri[paramI].ToString("0.##")); } } if (misija.imaCiljanje) { sb.AppendLine(jezik["opOruzjeCilj"].tekst() + ": " + Postavke.Jezik[Kontekst.Misije, Oruzje.OruzjeInfo.CiljanjeKod[oruzje.ciljanje]].tekst()); } sb.AppendLine(); sb.AppendLine(jezik["opCijena"].tekst() + ": " + Fje.PrefiksFormater(oruzje.cijena)); sb.AppendLine(jezik["opSnaga"].tekst() + ": " + Fje.PrefiksFormater(oruzje.snaga)); sb.AppendLine(jezik["opVelicina"].tekst() + ": " + Fje.PrefiksFormater(oruzje.velicina)); txtOpOpis.Text = sb.ToString(); }
public StarItem(ZvjezdanaUprava uprava) : this() { jezik = Postavke.Jezik[Kontekst.Kolonija]; this.uprava = uprava; starImage.Image = Slike.ZvijezdaTab[uprava.LokacijaZvj.tip]; starName.Text = uprava.LokacijaZvj.ime; double populacija = 0; foreach (Planet planet in uprava.LokacijaZvj.planeti) { if (planet.kolonija != null && planet.kolonija.Igrac == uprava.Igrac) { populacija += planet.kolonija.Populacija; } } populationText.Text = Fje.PrefiksFormater(populacija); industryText.Text = Fje.PrefiksFormater(uprava.Efekti[ZvjezdanaUprava.MaxGradnja]); resourceSlider.Value = (int)(uprava.UdioGradnje * resourceSlider.Maximum); buildingInfo.Text = uprava.ProcjenaVremenaGradnje(); osvjeziLabele(); }
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(); } }
public FormTechIzbor(Igrac igrac) { InitializeComponent(); Dictionary <string, ITekst> jezik = Postavke.Jezik[Kontekst.FormTech]; btnIstDno.Text = jezik["btnDno"].tekst(); btnIstDolje.Text = jezik["btnDolje"].tekst(); btnIstGore.Text = jezik["btnGore"].tekst(); btnIstVrh.Text = jezik["btnVrh"].tekst(); btnOk.Text = jezik["btnOk"].tekst(); btnRazDno.Text = jezik["btnDno"].tekst();; btnRazDolje.Text = jezik["btnDolje"].tekst(); btnRazGore.Text = jezik["btnGore"].tekst(); btnRazVrh.Text = jezik["btnVrh"].tekst(); chIstNaziv.Text = jezik["chNaziv"].tekst(); chIstNivo.Text = jezik["chNivo"].tekst(); chIstPoeni.Text = jezik["chPoeni"].tekst(); chIstPrioritet.Text = jezik["chIstPrioritet"].tekst(); chKnjizNaziv.Text = jezik["chNaziv"].tekst(); chKnjizNivo.Text = jezik["chNivo"].tekst(); chRazNaziv.Text = jezik["chNaziv"].tekst(); chRazNivo.Text = jezik["chNivo"].tekst(); chRazPoeni.Text = jezik["chPoeni"].tekst(); chRazUlaganje.Text = jezik["chRazUlaganje"].tekst(); lblFokusirano.Text = jezik["lblFokusirano"].tekst(); lblRaspodjela.Text = jezik["lblRaspodjela"].tekst(); lblRavnomjerno.Text = jezik["lblRavnomjerno"].tekst(); lblUIstrazivanju.Text = jezik["lblUIstrazivanju"].tekst() + ":"; lblURazvoju.Text = jezik["lblURazvoju"].tekst() + ":"; this.Text = jezik["naslov"].tekst(); tabIstrazivanje.Text = jezik["tabIst"].tekst(); tabOprema.Text = jezik["tabOprema"].tekst(); tabKnjiznica.Text = jezik["tabKnjiz"].tekst(); tabRazvoj.Text = jezik["tabRaz"].tekst(); this.igrac = igrac; txtRazOpis.Text = ""; txtIstOpis.Text = ""; lblIstPoeni.Text = jezik["lblIstPoeni"].tekst() + ": " + Fje.PrefiksFormater(igrac.istrazivanjePoSustavu[igrac.istrazivanjeSustav]); lblRazPoeni.Text = jezik["lblRazPoeni"].tekst() + ": " + Fje.PrefiksFormater(igrac.poeniRazvoja()); lblIstSustav.Text = " (" + igrac.istrazivanjeSustav.ime + ")"; lblKnjizNaziv.Text = ""; txtKnjizOpis.Text = ""; lblOpNaziv.Text = ""; txtOpOpis.Text = ""; InizijalizirajRazvoj(); InicijalizirajIstrazivanje(); InicijalizirajKnjiznicu(); InicijalizirajOpremu(); izracunajPoeneRazvoja(); this.Font = Postavke.FontSucelja(this.Font); }
private void odaberiZvijezdu(Zvijezda zvijezda, bool promjeniTab) { Dictionary <string, ITekst> jezik = Postavke.Jezik[Kontekst.FormIgra]; igrac.odabranaZvijezda = zvijezda; if (promjeniTab) { tabCtrlDesno.SelectedTab = tabPageZvijezda; } bool imaKoloniju = false; for (int i = 0; i < zvijezda.planeti.Count; i++) { if (igrac.posjeceneZvjezde.Contains(zvijezda)) { planetInfoi[i].PostaviPlanet(zvijezda.planeti[i], igrac); } else { planetInfoi[i].PostaviNeistrazeno(i); } } prikaziFlotu(zvijezda); bool igracevSustav = (igrac.OdabranSustav != null); if (igracevSustav) { hscrZvjezdaGradnja.Value = (int)(igrac.OdabranSustav.UdioGradnje * hscrZvjezdaGradnja.Maximum); lblImeZvjezde.Text = zvijezda.ime + "\n" + jezik["lblZracenje"].tekst() + ": " + zvijezda.zracenje() + "\n" + jezik["lblMigracija"].tekst() + ": " + Fje.PrefiksFormater(zvijezda.uprave[igrac.id][Kolonija.MigracijaMax]); } else { lblImeZvjezde.Text = zvijezda.ime + "\n" + jezik["lblZracenje"].tekst() + ": " + zvijezda.zracenje(); } btnVojnaGradnja.Visible = igracevSustav; hscrZvjezdaGradnja.Visible = igracevSustav; lblVojnaGradnja.Visible = igracevSustav; lblProcjenaVojneGradnje.Visible = igracevSustav; lblRazvoj.Visible = igracevSustav; osvjeziMapu(); tabCtrlDesno.ImageList.Images[0] = Slike.ZvijezdaTab[zvijezda.tip]; tabCtrlDesno.Refresh(); btnSlijedecaKolonija.Visible = imaKoloniju; btnPrethodnaKolonija.Visible = imaKoloniju; }
private void dodajDizajn(Dizajn dizajn) { ListViewItem item = new ListViewItem(dizajn.ime); item.SubItems.Add(Fje.PrefiksFormater(dizajn.brojBrodova)); item.Tag = dizajn; lstvDizajnovi.SmallImageList.Images.Add(dizajn.ikona); item.ImageIndex = lstvDizajnovi.SmallImageList.Images.Count - 1; lstvDizajnovi.Items.Add(item); }
private void listPositions_SelectedIndexChanged(object sender, EventArgs e) { if (listPositions.SelectedItem == null) { prikazZadavanjaZapovijedi(false); return; } List <Borac> borci = (listPositions.SelectedItem as TagTekst <List <Borac> >).tag; if (borci.Count == 0) { prikazZadavanjaZapovijedi(false); return; } else { prikazZadavanjaZapovijedi(true); } int odrediste = borci[0].CiljnaPozicija; int cbIndex = 0; for (int i = 0; i < cbPozicija.Items.Count; i++) { if ((cbPozicija.Items[i] as TagTekst <int>).tag == odrediste) { cbIndex = i; } } cbPozicija.SelectedIndex = cbIndex; if (borci.Count < 20) { trackKolicina.Maximum = borci.Count; trackKolicina.LargeChange = Math.Min(borci.Count, 2); trackKolicina.SmallChange = 1; trackKolicina.TickFrequency = 1; } else { int trackMaximum = Math.Min(borci.Count, TrackLargeQuantity); trackKolicina.Maximum = trackMaximum; trackKolicina.LargeChange = trackMaximum / 20; trackKolicina.SmallChange = Math.Max(trackMaximum / 100, 1); trackKolicina.TickFrequency = trackKolicina.LargeChange; } lblKolicina.Text = Fje.PrefiksFormater(borci.Count); trackKolicina.Value = trackKolicina.Maximum; }
public string tekst(Dictionary <string, double> varijable) { if (formatTip == FormatTip.Decimalan) { return(String.Format(format, formula.iznos(varijable))); } else { return(Fje.PrefiksFormater(formula.iznos(varijable))); } throw new FormatException(); }
private void postaviBrBrodova() { int planetI = lstvPlaneti.SelectedIndices[0]; Dictionary <string, ITekst> jezik = Postavke.Jezik[Kontekst.Kolonija]; lblBrBrodova.Text = Postavke.Jezik[Kontekst.FormKolonizacija, "lblBrBrodova"].tekst() + ": " + Fje.PrefiksFormater(brBrodova[planetI]); lblBrStanovnika.Text = jezik["plPopulacija"].tekst() + ": " + Fje.PrefiksFormater(brBrodova[planetI] * brodPopulacija); lblBrRadnihMjesta.Text = jezik["plRadnaMjesta"].tekst() + ": " + Fje.PrefiksFormater(brBrodova[planetI] * brodRadnaMjesta); hscrBrBrodova.Enabled = false; hscrBrBrodova.Value = Fje.Ogranici((int)(hscrBrBrodova.Maximum * (Math.Log(brBrodova[planetI]) / Math.Log(maxBrodova()))), hscrBrBrodova.Minimum, hscrBrBrodova.Maximum); hscrBrBrodova.Enabled = true; }
private void cbPocetnaPop_SelectedIndexChanged(object sender, EventArgs e) { if (cbPocetnaPop.SelectedItem == null) { return; } PocetnaPopulacija pocetnaPop = (cbPocetnaPop.SelectedItem as TagTekst <PocetnaPopulacija>).tag; var jezik = Postavke.Jezik[Kontekst.FormNovaIgra]; lblBrKolonija.Text = jezik["lblBrKolonija"].tekst() + ": " + pocetnaPop.BrKolonija; lblPopulacija.Text = jezik["lblPopulacija"].tekst() + ": " + Fje.PrefiksFormater(pocetnaPop.Populacija); }
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(); } } }
private void izracunajPoeneRazvoja() { int brTehnologija = lstRazvoj.Items.Count; List <long> rasporedPoena = Tehnologija.RasporedPoena(igrac.poeniRazvoja(), brTehnologija, RaspodijelaPoena[raspodijelaPoena]); for (int i = 0; i < brTehnologija; i++) { ListViewItem item = lstRazvoj.Items[i]; Tehnologija teh = (Tehnologija)item.Tag; item.SubItems[2].Text = Fje.PrefiksFormater(teh.ulozenoPoena) + " / " + Fje.PrefiksFormater(teh.cijena(igrac.efekti)); item.SubItems[3].Text = Fje.PrefiksFormater(rasporedPoena[i]); } }
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 InicijalizirajIstrazivanje() { int j = 1; foreach (Tehnologija t in igrac.tehnologijeUIstrazivanju) { ListViewItem item = new ListViewItem(t.tip.naziv); item.SubItems.Add("" + (t.nivo + 1)); item.SubItems.Add(Fje.PrefiksFormater(t.ulozenoPoena) + " / " + Fje.PrefiksFormater(t.cijena(igrac.efekti))); item.SubItems.Add(j + "."); item.Tag = t; lstIstrazivanje.Items.Add(item); j++; } }
public static string ProcjenaVremenaGradnje(double poeniIndustrije, double ostatakGradnje, Zgrada.ZgradaInfo uGradnji, Igrac igrac) { if (uGradnji == null) { return(""); } double cijena = uGradnji.CijenaGradnje.iznos(igrac.efekti); double brZgrada = (ostatakGradnje + poeniIndustrije) / cijena; Dictionary <string, ITekst> jezik = Postavke.Jezik[Kontekst.Kolonija]; Dictionary <string, double> vars = new Dictionary <string, double>(); if (brZgrada >= 1) { long dopustenaKolicina = (long)Math.Min( uGradnji.DopustenaKolicina.iznos(igrac.efekti), uGradnji.DopustenaKolicinaPoKrugu.iznos(igrac.efekti)); brZgrada = Fje.Ogranici(brZgrada, 0, dopustenaKolicina); vars.Add("BR_ZGRADA", brZgrada); return(jezik["gradPoKrugu"].tekst(vars)); } else { if (poeniIndustrije == 0) { return(jezik["gradNikad"].tekst()); } double brKrugova = (cijena - ostatakGradnje) / (double)poeniIndustrije; double zaokruzeno = Math.Ceiling(brKrugova * 10) / 10; long tmp = (long)Math.Ceiling(brKrugova * 10); vars.Add("BR_KRUGOVA", Math.Ceiling(brKrugova * 10) / 10); vars.Add("DECIMALA", ((long)Math.Ceiling(brKrugova * 10)) % 10); if (brKrugova < 10) { return(jezik["gradVrijemeDec"].tekst(vars)); } else { return(jezik["gradVrijemePref"].tekst(vars)); } } }
private void hscrBrBrodova_Scroll(object sender, ScrollEventArgs e) { int planetI = lstvPlaneti.SelectedIndices[0]; brBrodova[planetI] = (e.NewValue == 0) ? 0 : (long)(Math.Ceiling(Math.Pow(e.NewValue / (double)hscrBrBrodova.Maximum, 2) * maxBrodova())); Dictionary <string, ITekst> jezik = Postavke.Jezik[Kontekst.Kolonija]; lblBrBrodova.Text = Postavke.Jezik[Kontekst.FormKolonizacija, "lblBrBrodova"].tekst() + ": " + Fje.PrefiksFormater(brBrodova[planetI]); lblBrStanovnika.Text = jezik["plPopulacija"].tekst() + ": " + Fje.PrefiksFormater(brBrodova[planetI] * brodPopulacija); lblBrRadnihMjesta.Text = jezik["plRadnaMjesta"].tekst() + ": " + Fje.PrefiksFormater(brBrodova[planetI] * brodRadnaMjesta); if (e.NewValue == 0 || e.OldValue == 0) { postaviZvjezdice(); } }
public Zvijezda(int id, int tip, double x, double y) { this.id = id; this._tip = tip; this.x = x; this.y = y; this.planeti = new List <Planet>(); if (tip > Tip_Nikakva) { this.velicina = Fje.IzIntervala(Fje.Random.NextDouble(), Tipovi[tip].velicinaMin, Tipovi[tip].velicinaMax); } else { this.velicina = Fje.Random.NextDouble(); } }
public PlanetItem(Igra.Kolonija kolonija) : this() { this.kolonija = kolonija; jezik = Postavke.Jezik[Kontekst.Kolonija]; this.kolonija = kolonija; planetImage.Image = kolonija.slika; planetName.Text = kolonija.ime; populationText.Text = Fje.PrefiksFormater(kolonija.Populacija); industryText.Text = Fje.PrefiksFormater(kolonija.Efekti[Kolonija.IndustrijaPoRadniku] * kolonija.Efekti[Kolonija.BrRadnika]); resourceSlider.Value = (int)(kolonija.UdioIndustrije * resourceSlider.Maximum); buildingInfo.Text = kolonija.ProcjenaVremenaGradnje(); osvjeziLabele(); }
private void osvjeziNDstatistike() { Dizajn dizajn = dizajner.dizajn; Dictionary <string, ITekst> jezik = Postavke.Jezik[Kontekst.FormFlote]; lblNDnosivost.Text = jezik["lblNDnosivost"].tekst() + ": " + Fje.PrefiksFormater(dizajner.odabranTrup.Nosivost); lblNDoklop.Text = jezik["lblNDoklop"].tekst() + " (" + dizajn.oklop.naziv + "): " + Fje.PrefiksFormater(dizajn.izdrzljivostOklopa); lblNDpokretljivost.Text = jezik["lblNDpokretljivost"].tekst() + " (" + dizajn.potisnici.naziv + "): " + Fje.PrefiksFormater(dizajn.pokretljivost); lblNDsenzori.Text = jezik["lblNDsenzori"].tekst() + " (" + dizajn.senzor.naziv + "): " + Fje.PrefiksFormater(dizajn.snagaSenzora); picNDSlika.Image = dizajner.odabranTrup.slika; lblNDcijena.Text = jezik["lblNDcijena"].tekst() + ": " + Fje.PrefiksFormater(dizajn.cijena); if (dizajn.primarnoOruzje != null) { cbNDprimMisija.Items[cbNDprimMisija.SelectedIndex] = new TagTekst <Oruzje>(dizajn.primarnoOruzje.komponenta, Fje.PrefiksFormater(dizajn.primarnoOruzje.kolicina) + " x " + dizajn.primarnoOruzje.komponenta.naziv); } else if (cbNDprimMisija.SelectedItem != null) { TagTekst <Oruzje> tagOruzje = (TagTekst <Oruzje>)cbNDprimMisija.SelectedItem; if (tagOruzje.tag != null) { tagOruzje.tekst = tagOruzje.tag.naziv; cbNDprimMisija.Items[cbNDprimMisija.SelectedIndex] = tagOruzje; } } if (dizajn.sekundarnoOruzje != null) { cbNDsekMisija.Items[cbNDsekMisija.SelectedIndex] = new TagTekst <Oruzje>(dizajn.sekundarnoOruzje.komponenta, Fje.PrefiksFormater(dizajn.sekundarnoOruzje.kolicina) + " x " + dizajn.sekundarnoOruzje.komponenta.naziv); } else if (cbNDsekMisija.SelectedItem != null) { TagTekst <Oruzje> tagOruzje = (TagTekst <Oruzje>)cbNDsekMisija.SelectedItem; if (tagOruzje.tag != null) { tagOruzje.tekst = tagOruzje.tag.naziv; cbNDsekMisija.Items[cbNDsekMisija.SelectedIndex] = tagOruzje; } } lblNDslobodno.Text = jezik["lblNDslobodno"].tekst() + ": " + Fje.PrefiksFormater(dizajner.slobodnaNosivost); ispisiOpis(prethodniNDinfo, dizajn); provjeriDizajn(); }
private void osvjeziLabele() { Dictionary <string, ITekst> jezik = Postavke.Jezik[Kontekst.Kolonija]; lblCivilnaIndustrija.Text = Fje.PrefiksFormater(kolonija.poeniIndustrije()) + " " + jezik["jedInd"].tekst(); lblProcjenaCivilneGradnje.Text = kolonija.ProcjenaVremenaGradnje(); lblRazvoj.Text = jezik["lblRazvoj"].tekst() + Fje.PrefiksFormater(kolonija.poeniRazvoja()); lblKoefOrbitalne.Text = Postavke.Jezik[Kontekst.FormPlanetInfo, "plCijenaOrbGradnje"].tekst() + ": x" + kolonija.Efekti[Kolonija.FaktorCijeneOrbitalnih].ToString("0.##"); if (kolonija.RedGradnje.Count > 0) { btnCivilnaGradnja.Image = kolonija.RedGradnje.First.Value.slika; btnCivilnaGradnja.Text = ""; } else { btnCivilnaGradnja.Image = null; btnCivilnaGradnja.Text = jezik["Civilna_Gradnja"].tekst(); } }
private void trackKolicina_Scroll(object sender, EventArgs e) { if (listPositions.SelectedItem == null) { return; } List <Borac> borci = (listPositions.SelectedItem as TagTekst <List <Borac> >).tag; if (borci.Count == 0) { return; } int kolicina = (borci.Count > TrackLargeQuantity) ? (int)(borci.Count * (trackKolicina.Value / (double)TrackLargeQuantity)) : trackKolicina.Value; lblKolicina.Text = Fje.PrefiksFormater(kolicina); }
public void RefreshData() { int brojBoraca = 0; double izdrzljivostOklopa = 0; double izdrzljivostStita = 0; foreach (Borac borac in grupaBoraca) { brojBoraca++; izdrzljivostOklopa += borac.IzdrzljivostOklopa / borac.Dizajn.izdrzljivostOklopa; if (dizajn.stit != null) { izdrzljivostStita += borac.IzdrzljivostStita / borac.Dizajn.izdrzljivostStita; } } izdrzljivostOklopa /= brojBoraca; izdrzljivostStita /= brojBoraca; Image slikaStanje = picStanje.Image ?? new Bitmap(picStanje.Width, picStanje.Height); using (Graphics g = Graphics.FromImage(slikaStanje)) { g.Clear(Color.Black); int granicaOklopStit = slikaStanje.Height / 2; Rectangle oklopRect = new Rectangle(0, granicaOklopStit, (int)(izdrzljivostOklopa * slikaStanje.Width), slikaStanje.Height - granicaOklopStit); Rectangle stitRect = new Rectangle(0, 0, (int)(izdrzljivostStita * slikaStanje.Width), granicaOklopStit); g.DrawRectangle(new Pen(BojaOklopa), oklopRect); g.FillRectangle(new SolidBrush(BojaOklopa), oklopRect); g.DrawRectangle(new Pen(BojaStita), stitRect); g.FillRectangle(new SolidBrush(BojaStita), stitRect); } picIkona.Image = dizajn.ikona; lblNaziv.Text = Fje.PrefiksFormater(brojBoraca) + " x " + dizajn.ime; picStanje.Image = slikaStanje; Refresh(); }
private void btnUkloni_Click(object sender, EventArgs e) { if (lstRedGradnje.SelectedItem == null) { return; } object zInfo = lstRedGradnje.SelectedItem; int pozicija = Fje.BinarySearch(lstMoguceGradit.Items, zInfo, sorterPonuda); if (pozicija < lstMoguceGradit.Items.Count) { if (sorterPonuda(lstMoguceGradit.Items[pozicija], zInfo) < 0) { pozicija++; } } lstMoguceGradit.Items.Insert(pozicija, lstRedGradnje.SelectedItem); lstRedGradnje.Items.Remove(lstRedGradnje.SelectedItem); }
private void borci_OnSelect(object sender, ObjectEventArgs <ICollection <Borac> > eventArgs) { if (!borba.LijevaStrana.Contains(eventArgs.Value.First().Igrac)) { prikazZapovijedi(false); return; } prikazZapovijedi(true); Dictionary <int, List <Borac> > raspodjelaBoraca = new Dictionary <int, List <Borac> >(); for (int slot = 0; slot <= Pozicije.MaxPozicija; slot++) { raspodjelaBoraca.Add(slot, new List <Borac>()); } foreach (Borac borac in eventArgs.Value) { raspodjelaBoraca[borac.CiljnaPozicija].Add(borac); } int maxKolicina = 0; listPositions.Items.Clear(); for (int slot = 0; slot <= Pozicije.MaxPozicija; slot++) { raspodjelaBoraca[slot].Sort( (a, b) => a.IzdrzljivostOklopa.CompareTo(b.IzdrzljivostOklopa)); listPositions.Items.Add(new TagTekst <List <Borac> >( raspodjelaBoraca[slot], Fje.PrefiksFormater(raspodjelaBoraca[slot].Count) + " " + Pozicije.Naziv(slot))); if (raspodjelaBoraca[slot].Count > raspodjelaBoraca[maxKolicina].Count) { maxKolicina = slot; } } listPositions.SelectedIndex = maxKolicina; }