Example #1
0
 private Point xyZvijezde(Zvijezda zvj)
 {
     return(new Point(
                (int)((zvj.x - minX + 1) * skala),
                (int)((zvj.y - minY + 1) * skala)
                ));
 }
Example #2
0
        private void picMapa_Click(object sender, EventArgs e)
        {
            MouseEventArgs mouseEvent = (MouseEventArgs)e;
            int            x          = mouseEvent.X;
            int            y          = mouseEvent.Y;

            Zvijezda odabranaZvijezda = igra.mapa.najblizaZvijezda(
                prikazMape.XnaMapi(x),
                prikazMape.YnaMapi(y), 0.5);

            if (odabranaZvijezda != null)
            {
                if (frmFlotaPokret != null && frmFlotaPokret.Visible && frmFlotaPokret.Enabled)
                {
                    frmFlotaPokret.postaviOdrediste(odabranaZvijezda);
                    return;
                }
                else
                {
                    odaberiZvijezdu(odabranaZvijezda, true);
                }
            }

            pomakPogleda = new Tocka <double>(x / (double)picMapa.Width, y / (double)picMapa.Height);
        }
Example #3
0
 public PorukaBrod(Zvijezda zvijezda, Dizajn dizajn, long kolicina)
     : base(Tip.Brod)
 {
     this.dizajn   = dizajn;
     this.kolicina = kolicina;
     this.zvijezda = zvijezda;
 }
Example #4
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();
        }
        public static Poruka Ucitaj(PodaciCitac ulaz, Dictionary <int, Zvijezda> zvijezdeID)
        {
            string[] izvor    = ulaz.podatak(PohIzvor).Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            Zvijezda zvj      = zvijezdeID[int.Parse(izvor[0])];
            int      zgradaId = ulaz.podatakInt(PohZgrada);

            return(new PorukaZgradaSustav(zvj, Zgrada.ZgradaInfoID[zgradaId]));
        }
Example #6
0
        public new static Poruka Ucitaj(PodaciCitac ulaz, Dictionary <int, Zvijezda> zvijezdeID, Dictionary <int, Dizajn> dizajnID)
        {
            Zvijezda zvj      = zvijezdeID[ulaz.podatakInt(PohIzvor)];
            Dizajn   dizajn   = dizajnID[ulaz.podatakInt(PohDizajn)];
            long     kolicina = ulaz.podatakLong(PohKolicina);

            return(new PorukaBrod(zvj, dizajn, kolicina));
        }
        public static Poruka Ucitaj(PodaciCitac ulaz, Dictionary <int, Zvijezda> zvijezdeID)
        {
            string[] izvor    = ulaz.podatak(PohIzvor).Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            Zvijezda zvj      = zvijezdeID[int.Parse(izvor[0])];
            int      planetId = int.Parse(izvor[1]);

            return(new PorukaKolonija(zvj.planeti[planetId]));
        }
Example #8
0
        public Konflikt(IEnumerable <Igrac> strane, Zvijezda lokacija)
        {
            foreach (Igrac strana in strane)
            {
                stanjeStrana.Add(strana, new IgracevKonflikt());
            }

            this.Lokacija = lokacija;
        }
Example #9
0
        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;
        }
Example #10
0
        public void BitkaZavrsena(Zvijezda lokacija)
        {
            Flota flota = Igrac.floteStacionarne[lokacija];

            flota.ukloniSve();

            foreach (Borac borac in Borci)
            {
                flota.dodajBrod(new Brod(borac.Dizajn, 1, borac.IzdrzljivostOklopa));
            }
        }
Example #11
0
        private void centrirajZvijezdu(Zvijezda zvijezda)
        {
            int x = prikazMape.XsaMape(igrac.odabranaZvijezda.x);
            int y = prikazMape.YsaMape(igrac.odabranaZvijezda.y);

            x = odrediPomakScrolla(picMapa.Width, pnlMapa.Width, pnlMapa.HorizontalScroll, x, 0);
            y = odrediPomakScrolla(picMapa.Height, pnlMapa.Height, pnlMapa.VerticalScroll, y, 0);
            pnlMapa.HorizontalScroll.Value += x;
            pnlMapa.VerticalScroll.Value   += y;
            pomakPogleda = null;
        }
Example #12
0
 public void postaviOdrediste(Zvijezda zvj)
 {
     foreach (object o in cbOdrediste.Items)
     {
         if (((TagTekst <Zvijezda>)o).tag.id == zvj.id)
         {
             cbOdrediste.SelectedItem = o;
             return;
         }
     }
 }
Example #13
0
        private void Form3_Load(object sender, EventArgs e)
        {
            using (hygEntities context = new hygEntities())
            {
                listOfSTar = context.Zvijezdas.ToList <Zvijezda>();
            }

            Zvijezda sol = listOfSTar[0];

            Point solLocation = new Point(xMax / 2 - 25, yMax / 2 - 25); //center of the map

            SetStar(solLocation, float.Parse(sol.mag), sol.proper);

            Main1();
        }
Example #14
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;
                }
            }
        }
Example #15
0
        private void novostiMenu_Click(object sender, EventArgs e)
        {
            using (FormPoruke formPoruke = new FormPoruke(igrac)) {
                Zvijezda zvj    = null;
                Planet   planet = null;

                if (formPoruke.ShowDialog() == DialogResult.OK)
                {
                    if (formPoruke.odabranaProuka != null)
                    {
                        Poruka poruka = formPoruke.odabranaProuka;
                        switch (formPoruke.odabranaProuka.tip)
                        {
                        case Poruka.Tip.Brod:
                            zvj = ((PorukaBrod)poruka).zvijezda;
                            odaberiZvijezdu(zvj, false);
                            tabCtrlDesno.SelectedTab = tabPageFlote;
                            centrirajZvijezdu(zvj);
                            break;

                        case Poruka.Tip.Kolonija:
                            planet = ((PorukaKolonija)poruka).planet;
                            odaberiZvijezdu(planet.zvjezda, false);
                            odaberiPlanet(planet, true);
                            centrirajZvijezdu(planet.zvjezda);
                            break;

                        case Poruka.Tip.Tehnologija:
                            tehnologijeMenu_Click(sender, e);
                            break;

                        case Poruka.Tip.ZgradaKolonija:
                            planet = ((PorukaZgradaKolonija)poruka).planet;
                            odaberiZvijezdu(planet.zvjezda, false);
                            odaberiPlanet(planet, true);
                            centrirajZvijezdu(planet.zvjezda);
                            break;
                        }
                    }
                }
            }
        }
Example #16
0
 private void button1_Click(object sender, EventArgs e)
 {
     using (hygEntities context = new hygEntities())
     {
         string   properData = dataGridView1.CurrentCell.Value.ToString();
         int      index      = dataGridView1.CurrentCell.RowIndex;
         Zvijezda star       = context.Zvijezdas.FirstOrDefault(s => (s.proper == properData) && (s.id - 1 == index));
         try
         {
             star.proper = txtProper.Text;
             context.SaveChanges();
             dataGridView1.DataSource = context.Zvijezdas.ToList <Zvijezda>();
         }
         catch (Exception ex)
         {
             MessageBox.Show("Can only edit 'proper'!");
             txtProper.Text = "";
         }
     }
 }
Example #17
0
        public void Main1()
        {
            int solX = xMax / 2;
            int solY = yMax / 2;

            int yPrevious = 0;

            for (int i = 1; i <= Form1.numberOfStars; i++)
            {
                Zvijezda star = new Zvijezda();
                star = listOfSTar[i];

                int distance = (int)float.Parse(star.dist) + 200;

                int tempY;
                int tempX;
                do
                {
                    tempY = RandomNumber(-distance, +distance);
                    tempX = (int)(Math.Pow(distance, 2) - Math.Pow(tempY, 2));
                } while (tempX < 0);

                tempX = (int)Math.Sqrt(tempX);

                if (i % 2 == 0)
                {
                    tempY  = yPrevious - solY + 50;
                    tempX += solX;
                }
                else
                {
                    tempX = -tempX + solX;
                }

                tempY += solY;

                Point Location = new Point(tempX, tempY);
                SetStar(Location, float.Parse(star.mag), star.proper);
                yPrevious = tempY;
            }
        }
Example #18
0
        private void postaviGUI()
        {
            this.polaznaZvijezda = igra.mapa.najblizaZvijezda(izvornaFlota.x, izvornaFlota.y, Epsilon);
            this.jezik           = Postavke.Jezik[Kontekst.FormFlotaPokret];
            Dictionary <string, double> varijable = new Dictionary <string, double>();

            this.Text = jezik["naslov"].tekst();

            lblPolaznaZvijezda.Text = polaznaZvijezda.ime;
            varijable.Add("ID", igrac.noviIdFlote());
            lblNazivFlote.Text = jezik["lblNazivFlote"].tekst(varijable);

            cbOdrediste.Items.Clear();
            foreach (Zvijezda zvj in igra.mapa.zvijezde)
            {
                cbOdrediste.Items.Add(new TagTekst <Zvijezda>(zvj, zvj.ime));
            }
            cbOdrediste.Sorted = true;

            List <Dizajn> sortiraniDizajnovi = new List <Dizajn>(poslaniBrodovi.Keys);

            sortiraniDizajnovi.Sort(dizajnSort);
            foreach (Dizajn dizajn in sortiraniDizajnovi)
            {
                lstBrodovi.Items.Add(new TagTekst <Dizajn>(dizajn, stavkaListe(dizajn)));
            }

            btnOdustani.Text  = jezik["btnOdustani"].tekst();
            btnPosalji.Text   = jezik["btnPosalji"].tekst();
            lblOdrediste.Text = jezik["lblOdrediste"].tekst();
            lblKolicina.Text  = jezik["lblKolicina"].tekst();
            lblPridruzi.Text  = jezik["lblPridruzi"].tekst();

            lblKolicina.Hide();
            hscbKolicina.Hide();
            txtKolicina.Hide();

            postaviOdrediste(polaznaZvijezda);
        }
Example #19
0
        private void procjenaBrzine()
        {
            Zvijezda odredisnaZvj = ((TagTekst <Zvijezda>)cbOdrediste.SelectedItem).tag;

            if (odredisnaZvj.id == polaznaZvijezda.id)
            {
                lblBrPoteza.Hide();
                return;
            }
            else if (!lblBrPoteza.Visible)
            {
                lblBrPoteza.Show();
            }

            double brzina = igrac.procjenaBrzineFlote(listaBrodova());

            if (brzina > 0 && polaznaZvijezda != null)
            {
                if (polaznaZvijezda.crvotocine.Contains(odredisnaZvj))
                {
                    brzina += igrac.efekti["BRZINA_CRVOTOCINA"];
                }
            }

            Dictionary <string, double> varijable = new Dictionary <string, double>();

            if (brzina == 0)
            {
                lblBrPoteza.Text   = jezik["lblBrPotezaNikad"].tekst();
                btnPosalji.Enabled = false;
            }
            else
            {
                varijable.Add("BR_POTEZA", Math.Ceiling(odredisnaZvj.udaljenost(izvornaFlota.x, izvornaFlota.y) / brzina));
                lblBrPoteza.Text   = jezik["lblBrPoteza"].tekst(varijable);
                btnPosalji.Enabled = true;
            }
        }
Example #20
0
        public FormBorba(ModeratorBorbe borba, Zvijezda lokacija)
        {
            this.borba = borba;

            InitializeComponent();

            this.Text          = lokacija.ime;
            picSelectAll.Image = Zvjezdojedac.Podaci.Slike.BoraciSvi;

            foreach (var pozicija in Pozicije.PonudjenePozicije())
            {
                cbPozicija.Items.Add(new TagTekst <int>(pozicija, Pozicije.Naziv(pozicija)));
            }

            postaviPozicije();
            pocetakKruga();

            var jezik = Postavke.Jezik[Kontekst.Bitka];

            lblZapovijed.Text = jezik["lblZapovijed"].tekst();
            btnPosalji.Text   = jezik["btnPosalji"].tekst();
            btnKrajKruga.Text = jezik["btnKrajKruga"].tekst();
        }
Example #21
0
        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);
        }
Example #22
0
 public static Poruka NovaZgrada(Zvijezda zvijezda, Zgrada.ZgradaInfo zgrada)
 {
     return(new PorukaZgradaSustav(zvijezda, zgrada));
 }
 public PorukaZgradaSustav(Zvijezda zvijezda, Zgrada.ZgradaInfo zgradaInfo)
     : base(Tip.ZgradaSustav)
 {
     this.zvijezda   = zvijezda;
     this.zgradaInfo = zgradaInfo;
 }