コード例 #1
0
        public void Polje_PoljaSIstimRetkomIStupcemSuJednaka()
        {
            Polje p1 = new Polje(1, 2);
            Polje p2 = new Polje(1, 2);

            Assert.AreEqual(p1, p2);
        }
コード例 #2
0
ファイル: TestPolja.cs プロジェクト: toni024/PotapanjeBrodova
        public void Polje_RedakIStupacJednakiSuArgumentimaKonstruktora()
        {
            Polje p = new Polje(2, 3);

            Assert.AreEqual(2, p.Redak);
            Assert.AreEqual(3, p.Stupac);
        }
コード例 #3
0
        public void Polje_PoljaSRazličitimRetkomIliStupcemSuRazličita()
        {
            Polje p1 = new Polje(1, 2);

            Assert.AreNotEqual(new Polje(1, 1), p1);
            Assert.AreNotEqual(new Polje(2, 2), p1);
        }
コード例 #4
0
ファイル: TestPolja.cs プロジェクト: toni024/PotapanjeBrodova
        public void Polje_ZaDvaPoljaKojaImajuIsteKoordinateMetodaEqualsVraćaTrue()
        {
            Polje p1 = new Polje(2, 3);
            Polje p2 = new Polje(2, 3);

            Assert.IsTrue(p1.Equals(p2));
        }
コード例 #5
0
        public void Polje_SvojstvaRedakStupacJednakaSuVrijednostimaZadanimKonstruktorom()
        {
            Polje p = new Polje(1, 2);

            Assert.AreEqual(1, p.Redak);
            Assert.AreEqual(2, p.Stupac);
        }
コード例 #6
0
        public void Polje_PoljaSaRazlicitimStupcemIRetkomSuRazlicita()
        {
            Polje p1 = new Polje(1, 2);
            Polje p2 = new Polje(1, 3);

            Assert.AreNotEqual(p1, p2);
        }
コード例 #7
0
ファイル: TestPolja.cs プロジェクト: toni024/PotapanjeBrodova
        public void Polje_ZaDvaPoljaKojaNemajuIstiStupacMetodaEqualsVraćaFalse()
        {
            Polje p1 = new Polje(2, 3);
            Polje p2 = new Polje(2, 4);

            Assert.IsFalse(p1.Equals(p2));
        }
コード例 #8
0
        public void KlasičniEliminatorPolja_PoljaKojaTrebaUklonitiOkoBrodaVraćaPoljaBrodaISvaOkolnaPoljaZaBrodUSrediniMreže()
        {
            int          redaka       = 10;
            int          stupaca      = 10;
            int          duljinaBroda = 4;
            Polje        početnoPolje = new Polje(3, 2);
            Orijentacija smjer        = Orijentacija.Vertikalno;

            Mreža m          = new Mreža(redaka, stupaca);
            var   poljaBroda = m.DajPoljaZaBrod(smjer, početnoPolje, duljinaBroda);

            IEliminatorPolja e = new KlasičniEliminatorPolja();
            var zaEliminirati  = e.PoljaKojaTrebaUklonitiOkoBroda(poljaBroda, redaka, stupaca);

            Assert.AreEqual(18, zaEliminirati.Count());
            foreach (Polje p in poljaBroda)
            {
                Assert.IsTrue(zaEliminirati.Contains(p));
            }
            // provjerimo polja u uglovima broda (lijevo-gore, lijevo-dolje, desno-gore i desno-dolje)
            Assert.IsTrue(zaEliminirati.Contains(new Polje(2, 1)));
            Assert.IsTrue(zaEliminirati.Contains(new Polje(2, 3)));
            Assert.IsTrue(zaEliminirati.Contains(new Polje(7, 1)));
            Assert.IsTrue(zaEliminirati.Contains(new Polje(7, 3)));
        }
コード例 #9
0
ファイル: Form1.cs プロジェクト: Misice/Minesweeper
        private void Otkrivanje_Buttona_Sa_Vrednost_0(Polje polje)
        {
            for (int k = polje.RedPolja - 1; k <= polje.RedPolja + 1; k++)
            {
                for (int l = polje.KolonaPolja - 1; l <= polje.KolonaPolja + 1; l++)
                {
                    if (k >= 0 && l >= 0 && k < PoljeMatrix.Instance.Red && l < PoljeMatrix.Instance.Kolona)
                    {
                        if (PoljeMatrix.Instance.Matrica[k, l].StatusPolja == Status.Neotkriven)
                        {
                            polje.BackColor   = Color.LightGray;
                            polje.StatusPolja = Status.Otkriven;
                            polje.Text        = Convert.ToString(polje.Vrednost);



                            if (PoljeMatrix.Instance.Matrica[k, l].Vrednost == '0')
                            {
                                this.Otkrivanje_Buttona_Sa_Vrednost_0(PoljeMatrix.Instance.Matrica[k, l]);
                            }
                        }
                    }
                }
            }
            return;
        }
コード例 #10
0
        public void AI_MjesovitaSimulacijaIspravnoDajeTaktike()
        {
            AITemplate ai = AIFactory.DajAI();

            ai.Initialize(10, 10, new int[] { 2, 3, 3, 4 });
            Polje p = ai.Gadjaj();

            Assert.IsInstanceOfType(ai.Taktika, typeof(TaktikaNapipavanjeRazmak));
            ai.ObradiPogodak(rezultatGadjanja.promasaj);
            p = ai.Gadjaj();
            Assert.IsInstanceOfType(ai.Taktika, typeof(TaktikaNapipavanjeRazmak));
            ai.ObradiPogodak(rezultatGadjanja.pogodak);
            p = ai.Gadjaj();
            Assert.IsInstanceOfType(ai.Taktika, typeof(TaktikaTrazenjeSmjeraRazmak));
            ai.ObradiPogodak(rezultatGadjanja.promasaj);
            p = ai.Gadjaj();
            Assert.IsInstanceOfType(ai.Taktika, typeof(TaktikaTrazenjeSmjeraRazmak));
            ai.ObradiPogodak(rezultatGadjanja.pogodak);
            p = ai.Gadjaj();
            Assert.IsInstanceOfType(ai.Taktika, typeof(TaktikaUnistavanjeRazmak));
            ai.ObradiPogodak(rezultatGadjanja.promasaj);
            p = ai.Gadjaj();
            Assert.IsInstanceOfType(ai.Taktika, typeof(TaktikaTrazenjeSmjeraRazmak));
            ai.ObradiPogodak(rezultatGadjanja.pogodak);
            p = ai.Gadjaj();
            Assert.IsInstanceOfType(ai.Taktika, typeof(TaktikaUnistavanjeRazmak));
            ai.ObradiPogodak(rezultatGadjanja.potopljen);
            p = ai.Gadjaj();
            Assert.IsInstanceOfType(ai.Taktika, typeof(TaktikaNapipavanjeRazmak));
        }
コード例 #11
0
        public void SelektivniSlučajniPucač_GađajVraćaJedinoPoljeKojeSePojavljujeNajvišePuta()
        {
            Mreža m = new Mreža(1, 5);
            SelektivniSlučajniPucač puc = new SelektivniSlučajniPucač(m, 3);
            Polje p = puc.Gađaj();

            Assert.AreEqual(new Polje(0, 2), p);
        }
コード例 #12
0
        public void SortirajPolja_SortiraNizVertikalnihPoljaOdNajgornjegPremaNajdonjem()
        {
            Polje[]             polja     = new Polje[] { new Polje(4, 3), new Polje(5, 3), new Polje(3, 3) };
            IEnumerable <Polje> sortirana = polja.Sortiraj();

            Assert.AreEqual(new Polje(3, 3), sortirana.ElementAt(0));
            Assert.AreEqual(new Polje(4, 3), sortirana.ElementAt(1));
            Assert.AreEqual(new Polje(5, 3), sortirana.ElementAt(2));
        }
コード例 #13
0
        public void SortirajPolja_SortiraNizHorizontalnihPoljaOdNajlijevijegPremaNajdesnijem()
        {
            Polje[]             polja     = new Polje[] { new Polje(2, 3), new Polje(2, 4), new Polje(2, 2) };
            IEnumerable <Polje> sortirana = polja.Sortiraj();

            Assert.AreEqual(new Polje(2, 2), sortirana.ElementAt(0));
            Assert.AreEqual(new Polje(2, 3), sortirana.ElementAt(1));
            Assert.AreEqual(new Polje(2, 4), sortirana.ElementAt(2));
        }
コード例 #14
0
        private void NacrtajPolje(PaintEventArgs pe, Polje polje)
        {
            int redak  = polje.Redak;
            int stupac = polje.Stupac;
            int x      = redak * ŠirinaPolja;
            int y      = stupac * VisinaPolja;

            pe.Graphics.FillRectangle(bojaBroda, x, y, ŠirinaPolja, VisinaPolja);
            pe.Graphics.DrawRectangle(peroLinija, x, y, ŠirinaPolja, VisinaPolja);
        }
コード例 #15
0
ファイル: Igra.cs プロジェクト: tonikorni/PotapanjeBrodova
        private void KompGađa()
        {
            Polje p = kompovoTopništvo.UputiPucanj();

            Console.WriteLine(string.Format("Komp gađa polje: {0}-{1}", p.Stupac.UOznakuStupca(), p.Redak.UOznakuRetka()));
            RezultatGađanja rez = UnosRezultata();

            kompovoTopništvo.ObradiGađanje(rez);
            Console.WriteLine();
        }
コード例 #16
0
        public void Mreza_ImaDovoljnoMjestaDesnoDobroRadiSNegativniVrijednostima()
        {
            Mreza m = new Mreza(5, 5);
            Polje p = new Polje(3, 3);
            Polje x = new Polje(0, -1);

            Assert.IsTrue(m.ImaDovoljnoMjestaDesno(p, 2));
            Assert.IsFalse(m.ImaDovoljnoMjestaDesno(p, 3));
            Assert.IsFalse(m.ImaDovoljnoMjestaDesno(x, 1));
        }
コード例 #17
0
        public void KružniPucač_GađajDajePoljaLijevoIIznadZaPogođenoPoljeUDonjemDesnomKutu()
        {
            Mreža        mreža     = new Mreža(5, 5);
            KružniPucač  puc       = new KružniPucač(mreža, new Polje(4, 4), 3);
            Polje        gađano    = puc.Gađaj();
            List <Polje> kandidati = new List <Polje> {
                new Polje(3, 4), new Polje(4, 3)
            };

            Assert.IsTrue(kandidati.Contains(gađano));
        }
コード例 #18
0
        public void KružniPucač_GađajDajeJednoOdOkolnihPolja()
        {
            Mreža        mreža     = new Mreža(5, 5);
            KružniPucač  puc       = new KružniPucač(mreža, new Polje(2, 2), 3);
            Polje        gađano    = puc.Gađaj();
            List <Polje> kandidati = new List <Polje> {
                new Polje(1, 2), new Polje(2, 1), new Polje(3, 2), new Polje(2, 3)
            };

            Assert.IsTrue(kandidati.Contains(gađano));
        }
コード例 #19
0
        public void KružniPucač_GađajDajePoljaDesnoIIspodZaPogođenoPoljeUGornjemLijevomKutu()
        {
            Mreža        mreža     = new Mreža(5, 5);
            KružniPucač  puc       = new KružniPucač(mreža, new Polje(0, 0), 3);
            Polje        gađano    = puc.Gađaj();
            List <Polje> kandidati = new List <Polje> {
                new Polje(0, 1), new Polje(1, 0)
            };

            Assert.IsTrue(kandidati.Contains(gađano));
        }
コード例 #20
0
        public void KružniPucač_GađajDajeJednoOdPoljaDesnoIliLijevo()
        {
            Mreža        mreža     = new Mreža(1, 5);
            KružniPucač  puc       = new KružniPucač(mreža, new Polje(0, 2), 3);
            Polje        gađano    = puc.Gađaj();
            List <Polje> kandidati = new List <Polje> {
                new Polje(0, 1), new Polje(0, 3)
            };

            Assert.IsTrue(kandidati.Contains(gađano));
        }
コード例 #21
0
        public void KružniPucač_UpućujePucanjUJednoOd2PoljaOkoPoljaULijevomDonjemKutu()
        {
            Mreža        m            = new Mreža(10, 10);
            Polje        prvoPogođeno = new Polje(9, 0);
            KružniPucač  pucač        = new KružniPucač(prvoPogođeno, m);
            List <Polje> kandidati    = new List <Polje> {
                new Polje(9, 1), new Polje(8, 0)
            };

            Assert.IsTrue(kandidati.Contains(pucač.UputiPucanj()));
        }
コード例 #22
0
        public void KružniPucač_UpućujePucanjUJednoOd4PoljaOkoPoljaUSredini()
        {
            Mreža        m            = new Mreža(10, 10);
            Polje        prvoPogođeno = new Polje(5, 5);
            KružniPucač  pucač        = new KružniPucač(prvoPogođeno, m);
            List <Polje> kandidati    = new List <Polje> {
                new Polje(4, 5), new Polje(6, 5), new Polje(5, 4), new Polje(5, 6)
            };

            Assert.IsTrue(kandidati.Contains(pucač.UputiPucanj()));
        }
コード例 #23
0
        public void AI_NakonPotapanjaTaktikaJeNapipavanje()
        {
            AITemplate ai = AIFactory.DajAI();

            ai.Initialize(10, 10, new int[] { 2, 3, 3, 4 });
            Polje p = ai.Gadjaj();

            ai.ObradiPogodak(rezultatGadjanja.potopljen);
            p = ai.Gadjaj();
            Assert.IsInstanceOfType(ai.Taktika, typeof(TaktikaNapipavanjeRazmak));
        }
コード例 #24
0
        public void LinijskiPucač_GađajVraćaSamoSlobodnoPoljeDoljeOdVertikalnogNiza()
        {
            Mreža m = new Mreža(10, 10);

            Polje[] polja = { new Polje(2, 3), new Polje(3, 3) };
            m.UkloniPolje(1, 3);
            LinijskiPucač puc = new LinijskiPucač(m, polja, 3);
            Polje         p   = puc.Gađaj();

            Assert.AreEqual(new Polje(4, 3), p);
        }
コード例 #25
0
        public void LinijskiPucač_GađajVraćaJednoOdDvaPoljaGoreIliDoljeOdVertikalnogNiza()
        {
            Mreža m = new Mreža(10, 10);

            Polje[]       polja = { new Polje(2, 3), new Polje(3, 3) };
            LinijskiPucač puc   = new LinijskiPucač(m, polja, 3);
            Polje         p     = puc.Gađaj();

            Polje[] kandidati = { new Polje(1, 3), new Polje(4, 3) };
            CollectionAssert.Contains(kandidati, p);
        }
コード例 #26
0
        public void LinijskiPucač_GađajVraćaJednoOdDvaPoljaLijevoIliDesnoOdHorizontalnogNiza()
        {
            Mreža m = new Mreža(10, 10);

            Polje[]       polja = { new Polje(2, 3), new Polje(2, 4) };
            LinijskiPucač puc   = new LinijskiPucač(m, polja, 3);
            Polje         p     = puc.Gađaj();

            Polje[] kandidati = { new Polje(2, 2), new Polje(2, 5) };
            CollectionAssert.Contains(kandidati, p);
        }
コード例 #27
0
        public void AI_NakonPrvogPogotkaTaktikaJeTrazenjeSmjera()
        {
            AITemplate ai = AIFactory.DajAI();

            ai.Initialize(10, 10, new int[] { 2, 3, 3, 4 });
            Polje p = ai.Gadjaj();

            ai.ObradiPogodak(rezultatGadjanja.pogodak);
            p = ai.Gadjaj();
            Assert.IsInstanceOfType(ai.Taktika, typeof(TaktikaTrazenjeSmjeraRazmak));
        }
コード例 #28
0
        public void KružniPucač_GađajDajeJedinoOkolnoPoljeKojeNijeEliminirano()
        {
            Mreža mreža = new Mreža(5, 5);

            mreža.UkloniPolje(1, 2);
            mreža.UkloniPolje(3, 2);
            mreža.UkloniPolje(2, 1);
            KružniPucač puc    = new KružniPucač(mreža, new Polje(2, 2), 3);
            Polje       gađano = puc.Gađaj();

            Assert.AreEqual(new Polje(2, 3), gađano);
        }
コード例 #29
0
        private RezultatGađanja RačunaloGađa()
        {
            Polje  polje  = topništvo.Gađaj();
            string stupac = ((char)('A' + polje.Stupac)).ToString();
            string redak  = (polje.Redak + 1).ToString();

            Console.WriteLine("Ja gađam polje: {0}-{1}", stupac, redak);
            RezultatGađanja rezultat = UčitajRezultatGađanja();

            topništvo.ObradiGađanje(rezultat);
            return(rezultat);
        }
コード例 #30
0
        private void NacrtajPolje(PaintEventArgs e, Polje polje)
        {
            Brush boja   = new SolidBrush(Color.Navy);
            Pen   pen    = new Pen(SystemColors.ActiveBorder);
            int   redak  = polje.Redak;
            int   stupac = polje.Stupac;
            int   y      = redak * (sirina / redaka);
            int   x      = stupac * (sirina / stupaca);

            e.Graphics.FillRectangle(boja, x, y, (sirina / redaka), (sirina / stupaca));
            e.Graphics.DrawRectangle(pen, x, y, (sirina / redaka), (sirina / stupaca));
        }