public PrikazMape(IgraZvj igra) { this.igra = igra; this.skala = POCETNA_SKALA_MAPE; #region Određivanje dimenzija mape minX = igra.mapa.zvijezde[0].x; maxX = igra.mapa.zvijezde[0].x; minY = igra.mapa.zvijezde[0].y; maxY = igra.mapa.zvijezde[0].y; foreach (Zvijezda zvj in igra.mapa.zvijezde) { if (zvj.x < minX) { minX = zvj.x; } if (zvj.x > maxX) { maxX = zvj.x; } if (zvj.y < minY) { minY = zvj.y; } if (zvj.y > maxY) { maxY = zvj.y; } } #endregion osvjezi(); }
private void ucitajMenu_Click(object sender, EventArgs e) { using (OpenFileDialog dialog = new OpenFileDialog()) { dialog.InitialDirectory = Environment.CurrentDirectory + Path.DirectorySeparatorChar + "pohranjeno"; dialog.FileName = "sejv.igra"; dialog.Filter = Postavke.Jezik[Kontekst.WindowsDijalozi, "TIP_SEJVA"].tekst(null) + " (*.igra)|*.igra"; if (dialog.ShowDialog() == DialogResult.OK) { GZipStream zipStream = new GZipStream(new FileStream(dialog.FileName, FileMode.Open), CompressionMode.Decompress); StreamReader citac = new StreamReader(zipStream); string ucitanaIgra = citac.ReadToEnd(); citac.Close(); this.igra = IgraZvj.Ucitaj(ucitanaIgra); igrac = igra.trenutniIgrac(); pomakPogleda = null; prikazMape = new PrikazMape(igra); this.picMapa.Image = prikazMape.slikaMape; noviKrugPogled(); } } }
public override void Djeluj(IgraZvj igra) { foreach (var kolonija in igrac.kolonije) { kolonija.UdioIndustrije = 0; } }
public void pomicanjeBroda(Flota izvornaFlota, Brod brod, Igrac igrac, IgraZvj igra) { this.izvornaFlota = izvornaFlota; this.igrac = igrac; this.igra = igra; initPoslaniBrodovi(); poslaniBrodovi[brod.dizajn] = brod.kolicina; postaviGUI(); Show(); }
public FormPlaneti(IgraZvj igra) : this() { this.igra = igra; foreach (var kolonija in igra.trenutniIgrac().kolonije) { planetList.Controls.Add(new PlanetItem(kolonija)); } }
public FormZvijezde(IgraZvj igra) : this() { this.igra = igra; foreach (var uprava in igra.mapa.ZvjezdaneUprave()) { if (uprava.Igrac == igra.trenutniIgrac()) { starList.Controls.Add(new StarItem(uprava)); } } }
public void pomicanjeFlote(Flota izvornaFlota, Igrac igrac, IgraZvj igra) { this.izvornaFlota = izvornaFlota; this.igrac = igrac; this.igra = igra; initPoslaniBrodovi(); foreach (Brod brod in izvornaFlota.brodovi.Values) { poslaniBrodovi[brod.dizajn] = brod.kolicina; } postaviGUI(); Show(); }
public FormIgra(IgraZvj igra) { InitializeComponent(); this.igra = igra; igrac = igra.trenutniIgrac(); this.frmFlotaPokret = new FormFlotaPokret(this); this.AddOwnedForm(frmFlotaPokret); pomakPogleda = null; prikazMape = new PrikazMape(igra); this.picMapa.Image = prikazMape.slikaMape; tabCtrlDesno.ImageList = new ImageList(); tabCtrlDesno.ImageList.ImageSize = new Size(32, 32); tabCtrlDesno.ImageList.Images.Add(new Bitmap(1, 1)); tabCtrlDesno.ImageList.Images.Add(Slike.PlanetTab[Planet.Tip.ASTEROIDI][0].image); tabCtrlDesno.ImageList.Images.Add(Slike.FlotaTab); tabPageZvijezda.ImageIndex = 0; tabPageKolonija.ImageIndex = 1; tabPageFlote.ImageIndex = 2; //listViewPlaneti.LargeImageList = new ImageList(); //listViewPlaneti.LargeImageList.ImageSize = new Size(32, 32); //Image[] planetImages = new Image[Slike.PlanetImageIndex.Count]; //foreach (Image img in Slike.PlanetImageIndex.Keys) // planetImages[Slike.PlanetImageIndex[img]] = img; //listViewPlaneti.LargeImageList.Images.AddRange(planetImages); btnCivilnaGradnja.Text = ""; btnVojnaGradnja.Text = ""; tvFlota.ImageList = new ImageList(); tvFlota.ImageList.ImageSize = new Size(20, 20); postaviJezik(); postaviAkcijeBroda(); for (int i = 0; i < 15; i++) { BriefPlanetItem planetInfo = new BriefPlanetItem(); planetInfo.Click += this.listViewPlaneti_Click; planetInfoi[i] = planetInfo; planetiFlowPanel.Controls.Add(planetInfo); } this.Font = Postavke.FontSucelja(this.Font); }
public override void Djeluj(IgraZvj igra) { foreach (var zvj in igra.mapa.zvijezde) { if (zvj.uprave[igrac.id] != null) { ZvjezdanaUprava uprava = zvj.uprave[igrac.id]; if (uprava.RedGradnje.Count == 0 || koordinator.PromjeniRedGradnje.Contains(zvj)) { Vadjenje <Zgrada.ZgradaInfo> moguceGraditi = new Vadjenje <Zgrada.ZgradaInfo>(uprava.MoguceGraditi()); uprava.RedGradnje.Clear(); if (moguceGraditi.lista.Count > 0) { uprava.RedGradnje.AddLast(moguceGraditi.izvadi()); } } uprava.UdioGradnje = 1; } } }
private void btnUcitaj_Click(object sender, EventArgs e) { OpenFileDialog dialog = new OpenFileDialog(); dialog.InitialDirectory = Environment.CurrentDirectory + Path.DirectorySeparatorChar + "pohranjeno"; dialog.FileName = "sejv.igra"; dialog.Filter = Postavke.Jezik[Kontekst.WindowsDijalozi, "TIP_SEJVA"].tekst(null) + " (*.igra)|*.igra"; if (dialog.ShowDialog() == DialogResult.OK) { GZipStream zipStream = new GZipStream(new FileStream(dialog.FileName, FileMode.Open), CompressionMode.Decompress); StreamReader citac = new StreamReader(zipStream); string ucitanaIgra = citac.ReadToEnd(); citac.Close(); IgraZvj igra = IgraZvj.Ucitaj(ucitanaIgra); using (FormIgra frmIgra = new FormIgra(igra)) frmIgra.ShowDialog(); } }
public void OdigrajKrug(IgraZvj igra) { PromjeniRedGradnje.Clear(); foreach (var poruka in Igrac.poruke) { if (poruka.tip == Poruka.Tip.Brod) { PorukaBrod porukaBrod = poruka as PorukaBrod; PromjeniRedGradnje.Add(porukaBrod.zvijezda); } } // pozivi moraju biti asocijativni i komutativni (neovisni o redoslijedu) foreach (var sloj in podSlojevi) { sloj.OdrediZahtjeve(igra); } foreach (var sloj in podSlojevi) { sloj.Djeluj(igra); } }
public abstract void Djeluj(IgraZvj igra);
public abstract void OdrediZahtjeve(IgraZvj igra);
public override void OdrediZahtjeve(IgraZvj igra) { // ne radi nista }
public override void Djeluj(IgraZvj igra) { // ne radi nista }
public FormKolonizacija(IgraZvj igra, Igrac igrac, Brod brod, Zvijezda zvijezda) { InitializeComponent(); groupPlanet.Hide(); groupPoStan.Hide(); groupRude.Hide(); hscrBrBrodova.Minimum = 0; hscrBrBrodova.Maximum = 40; hscrBrBrodova.Hide(); lblBrBrodova.Hide(); lblBrStanovnika.Hide(); lblBrRadnihMjesta.Hide(); this.igra = igra; this.igrac = igrac; this.brod = brod; this.zvijezda = zvijezda; brodPopulacija = brod.dizajn.populacija; brodRadnaMjesta = brod.dizajn.radnaMjesta; lstvPlaneti.LargeImageList = new ImageList(); lstvPlaneti.LargeImageList.ImageSize = new Size(32, 32); Image[] planetImages = new Image[Slike.PlanetImageIndex.Count]; foreach (Image img in Slike.PlanetImageIndex.Keys) { planetImages[Slike.PlanetImageIndex[img]] = img; } lstvPlaneti.LargeImageList.Images.AddRange(planetImages); lstvPlaneti.Items.Clear(); for (int i = 0; i < zvijezda.planeti.Count; i++) { Planet planet = zvijezda.planeti[i]; ListViewItem item = new ListViewItem(); item.ImageIndex = Slike.PlanetImageIndex[planet.slika]; if (planet.tip != Planet.Tip.NIKAKAV) { item.Text = planet.ime; if (planet.kolonija != null) { item.ForeColor = planet.kolonija.Igrac.boja; } } lstvPlaneti.Items.Add(item); } foreach (Flota.Kolonizacija kolonizacija in igrac.floteStacionarne[zvijezda].kolonizacije) { if (kolonizacija.brod == brod) { brBrodova[kolonizacija.planet] += kolonizacija.brBrodova; } else { dodatnaPopulacija[kolonizacija.planet] += kolonizacija.brod.dizajn.populacija * kolonizacija.brBrodova; } } Dictionary <string, ITekst> jezik = Postavke.Jezik[Kontekst.FormKolonizacija]; Dictionary <string, ITekst> jezikPl = Postavke.Jezik[Kontekst.FormPlanetInfo]; btnPrihvati.Text = jezik["btnPrihvati"].tekst(); lblAtmosfera.Text = jezikPl["lblAtmosfera"].tekst(); groupPlanet.Text = jezikPl["groupPlanet"].tekst(); groupPoStan.Text = jezik["groupPoStan"].tekst(); groupRude.Text = jezikPl["groupRude"].tekst(); this.Text = jezik["naslov"].tekst(); postaviZvjezdice(); this.Font = Postavke.FontSucelja(this.Font); }