private Igrac(int id, Tip tip, string ime, Color boja, Organizacija organizacija, Zvijezda odabranaZvijezda, Planet odabranPlanet, LinkedList <Poruka> poruke, List <DizajnZgrada> dizajnoviBrodova, Dictionary <string, Tehnologija> tehnologije, LinkedList <Tehnologija> tehnologijeURazvoju, double koncentracijaPoenaRazvoja, LinkedList <Tehnologija> tehnologijeUIstrazivanju, HashSet <Zvijezda> posjeceneZvjezde, MyDictionary <Zvijezda, Flota> floteStacionarne, MySet <PokretnaFlota> flotePokretne) { this.id = id; this.tip = tip; this.ime = ime; this.boja = boja; this.organizacija = organizacija; this.odabranaZvijezda = odabranaZvijezda; this._odabranPlanet = odabranPlanet; this.poruke = poruke; this.dizajnoviBrodova = dizajnoviBrodova; this.tehnologije = tehnologije; this.tehnologijeURazvoju = tehnologijeURazvoju; this.koncentracijaPoenaRazvoja = koncentracijaPoenaRazvoja; this.tehnologijeUIstrazivanju = tehnologijeUIstrazivanju; this.posjeceneZvjezde = posjeceneZvjezde; this.floteStacionarne = floteStacionarne; this.flotePokretne = flotePokretne; random = new Random(); PrebrojiBrodove(this.flotePokretne); PrebrojiBrodove(this.floteStacionarne.Values); filtarPoruka.Add(Poruka.Tip.Brod, true); filtarPoruka.Add(Poruka.Tip.Kolonija, true); filtarPoruka.Add(Poruka.Tip.Prica, true); filtarPoruka.Add(Poruka.Tip.Tehnologija, true); filtarPoruka.Add(Poruka.Tip.ZgradaKolonija, true); }
public ZaStvoriti(Tip tip, string ime, Organizacija organizacija, Color boja) { this.tip = tip; this.ime = ime; this.organizacija = organizacija; this.boja = boja; }
public Igrac(Tip tip, string ime, Organizacija organizacija, System.Drawing.Color boja, int id) { this.id = id; this.tip = tip; this.ime = ime; this.boja = boja; this.organizacija = organizacija; random = new Random(); odabranaZvijezda = null; _odabranPlanet = null; koncentracijaPoenaRazvoja = 1; foreach (Tehnologija.TechInfo t in Tehnologija.TechInfo.tehnologijeRazvoj) { tehnologije.Add(t.kod, new Tehnologija(t)); } foreach (Tehnologija.TechInfo t in Tehnologija.TechInfo.tehnologijeIstrazivanje) { tehnologije.Add(t.kod, new Tehnologija(t)); } filtarPoruka.Add(Poruka.Tip.Brod, true); filtarPoruka.Add(Poruka.Tip.Kolonija, true); filtarPoruka.Add(Poruka.Tip.Prica, true); filtarPoruka.Add(Poruka.Tip.Tehnologija, true); filtarPoruka.Add(Poruka.Tip.ZgradaKolonija, true); }
public static Igrac Ucitaj(PodaciCitac ulaz, Mapa mapa) { Tip tip = Tip.COVJEK; if (ulaz.podatak(PohTip) != PohTipCovjek) { tip = Tip.RACUNALO; } int id = ulaz.podatakInt(PohId); string ime = ulaz.podatak(PohIme); Organizacija organizacija = Organizacija.lista[ulaz.podatakInt(PohOrganizacija)]; Color boja = OdrediBoju(ulaz.podatak(PohBoja)); foreach (Color color in BojeIgraca) { if (boja.R == color.R && boja.G == color.G && boja.B == color.B) { boja = color; } } Zvijezda odabranaZvj = OdrediOdabranuZvj(mapa, ulaz.podatak(PohPogledZvj)); Planet odabranPlanet = odabranaZvj.planeti[ulaz.podatakInt(PohPogledPlanet)]; Dictionary <int, Zvijezda> zvijezdeID = new Dictionary <int, Zvijezda>(); foreach (Zvijezda zvj in mapa.zvijezde) { zvijezdeID.Add(zvj.id, zvj); } int brDizajnova = ulaz.podatakInt(PohDizajn); List <DizajnZgrada> dizajnovi = new List <DizajnZgrada>(); for (int i = 0; i < brDizajnova; i++) { Dizajn dizajn = Dizajn.Ucitaj(ulaz[PohDizajn + i]); dizajnovi.Add(new DizajnZgrada(dizajn)); } int brTeh = ulaz.podatakInt(PohTehnologija); Dictionary <string, Tehnologija> tehnologije = new Dictionary <string, Tehnologija>(); for (int i = 0; i < brTeh; i++) { Tehnologija teh = Tehnologija.Ucitaj(ulaz[PohTehnologija + i]); tehnologije.Add(teh.tip.kod, teh); } double koncPoenaRazvoja = ulaz.podatakDouble(PohTehRazKonc); int[] tmpIntovi = ulaz.podatakIntPolje(PohTehURazvoju); LinkedList <Tehnologija> tehURazvoju = new LinkedList <Tehnologija>(); foreach (int tehId in tmpIntovi) { tehURazvoju.AddLast(tehnologije[Tehnologija.TechInfo.tehnologijeRazvoj[tehId].kod]); } tmpIntovi = ulaz.podatakIntPolje(PohTehUIstraz); LinkedList <Tehnologija> tehUIstraz = new LinkedList <Tehnologija>(); foreach (int tehId in tmpIntovi) { tehUIstraz.AddLast(tehnologije[Tehnologija.TechInfo.tehnologijeIstrazivanje[tehId].kod]); } tmpIntovi = ulaz.podatakIntPolje(PohPosjeceneZvj); HashSet <Zvijezda> posjeceneZvijezde = new HashSet <Zvijezda>(); foreach (int zvjId in tmpIntovi) { posjeceneZvijezde.Add(zvijezdeID[zvjId]); } Dictionary <int, Dizajn> dizajnID = new Dictionary <int, Dizajn>(); foreach (DizajnZgrada dizajnZgrada in dizajnovi) { dizajnID.Add(dizajnZgrada.dizajn.id, dizajnZgrada.dizajn); } tmpIntovi = ulaz.podatakIntPolje(PohFloteStac); MyDictionary <Zvijezda, Flota> floteStacionarne = new MyDictionary <Zvijezda, Flota>(); for (int i = 0; i < tmpIntovi.Length; i++) { floteStacionarne.Add( zvijezdeID[tmpIntovi[i]], Flota.Ucitaj(ulaz[PohFloteStac + i], dizajnID)); } int brPokFlota = ulaz.podatakInt(PohFlotePokret); MySet <PokretnaFlota> flotePokretne = new MySet <PokretnaFlota>(); for (int i = 0; i < brPokFlota; i++) { flotePokretne.Add(PokretnaFlota.Ucitaj(ulaz[PohFlotePokret + i], dizajnID, zvijezdeID)); } int brPoruka = ulaz.podatakInt(PohPoruka); LinkedList <Poruka> poruke = new LinkedList <Poruka>(); for (int i = 0; i < brPoruka; i++) { poruke.AddLast(Poruka.Ucitaj(ulaz[PohPoruka + i], zvijezdeID, dizajnID)); } return(new Igrac(id, tip, ime, boja, organizacija, odabranaZvj, odabranPlanet, poruke, dizajnovi, tehnologije, tehURazvoju, koncPoenaRazvoja, tehUIstraz, posjeceneZvijezde, floteStacionarne, flotePokretne)); }