Exemplo n.º 1
0
        public Igra(int redaka, int stupaca, int[] duljineBrodova)
        {
            Brodograditelj bg = new Brodograditelj();

            kompovaFlota     = bg.SložiFlotu(redaka, stupaca, duljineBrodova);
            kompovoTopništvo = new Topništvo(redaka, stupaca, duljineBrodova);
        }
Exemplo n.º 2
0
        private void buttonSložiFlotu_Click(object sender, EventArgs e)
        {
            Brodograditelj b     = new Brodograditelj();
            var            flota = b.SložiFlotu(redaka, stupaca, duljineBrodova);

            mrežaZaFlotu.ZadajFlotu(flota);
        }
Exemplo n.º 3
0
        public void SložiFlotu()
        {
            Brodograditelj bg = new Brodograditelj();

            int[] brodovi = new int[] { 5, 4, 4, 3, 3, 3, 2, 2, 2, 2 };
            flota = bg.SložiFlotu(10, 10, brodovi);
            flota.ProtivničkiBrodJePotopljen += OnProtivničkiBrodJePotopljen;
        }
Exemplo n.º 4
0
        void OnSložiNovuFlotu(object sender, object EventArgs)
        {
            Brodograditelj bg = new Brodograditelj();

            int[] brodovi = new int[] { 5, 4, 4, 3, 3, 3, 2, 2, 2, 2 };
            Flota flota   = bg.SložiFlotu(10, 10, brodovi);

            mreža.PrikažiFlotu(flota);
        }
        public void Brodograditelj_DajPoljaZaBrodVraćaListuOd2VertikalnaPolja()
        {
            Brodograditelj b     = new Brodograditelj();
            var            polja = b.DajPoljaZaBrod(Smjer.Vertikalno, new Polje(3, 6), 2);

            Assert.AreEqual(2, polja.Count());
            Assert.IsTrue(polja.Contains(new Polje(3, 6)));
            Assert.IsTrue(polja.Contains(new Polje(4, 6)));
        }
        public void Brodograditelj_DajPoljaZaBrodVraćaListuOd3HorizontalnaPolja()
        {
            Brodograditelj b     = new Brodograditelj();
            var            polja = b.DajPoljaZaBrod(Smjer.Horizontalno, new Polje(3, 6), 3);

            Assert.AreEqual(3, polja.Count());
            Assert.IsTrue(polja.Contains(new Polje(3, 6)));
            Assert.IsTrue(polja.Contains(new Polje(3, 7)));
            Assert.IsTrue(polja.Contains(new Polje(3, 8)));
        }
Exemplo n.º 7
0
        void OnSložiNovuFlotu(object sender, object EventArgs) // u xamlu mi je ovaj event u kontroli <button pod atribut Cliked, i ime eventa OnSložiNovuFlotu
                                                               //u xamlu sa ctrl space vidim ponuđene evente i ostlao, i svugje
        {
            Brodograditelj bg = new Brodograditelj();

            int[] brodovi = new int[] { 5, 4, 4, 3, 3, 3, 2, 2, 2, 2 };
            Flota flota   = bg.SložiFlotu(10, 10, brodovi);

            mreža.PrikažiFlotu(flota);
        }
Exemplo n.º 8
0
        public Igra(int redaka, int stupaca, int[] duljineBrodova)
        {
            Brodograditelj brodograditelj = new Brodograditelj();

            flota             = brodograditelj.SložiFlotu(redaka, stupaca, duljineBrodova);
            topništvo         = new Topništvo(redaka, stupaca, duljineBrodova);
            brojRedaka        = redaka;
            brojStupaca       = stupaca;
            ukupanBrojBrodova = duljineBrodova.Length;
        }
Exemplo n.º 9
0
        public void Brodograditelj_SložiFlotuVraćaFlotuSBrodovimaZadaneDuljine()
        {
            Brodograditelj    brodograditelj = new Brodograditelj();
            int               brojRedaka     = 10;
            int               brojStupaca    = 10;
            IEnumerable <int> duljineBrodova = new int[] { 5, 4, 4, 3, 3, 3, 2, 2, 2, 2 };
            Flota             f = brodograditelj.SložiFlotu(brojRedaka, brojStupaca, duljineBrodova);

            Assert.AreEqual(duljineBrodova.Count(), f.BrojBrodova);
            Assert.AreEqual(1, f.Brodovi.Count(brod => brod.Polja.Count() == 5));
            Assert.AreEqual(2, f.Brodovi.Count(brod => brod.Polja.Count() == 4));
            Assert.AreEqual(3, f.Brodovi.Count(brod => brod.Polja.Count() == 3));
            Assert.AreEqual(4, f.Brodovi.Count(brod => brod.Polja.Count() == 2));
        }
Exemplo n.º 10
0
        public void Brodograditelj_DajHorizontalnaPočetnaPoljaZa4HorizontalnaPoljaNeVraćaNitiJednoPoljeZaBrodDuljine5()
        {
            List <Polje> polja = new List <Polje>
            {
                new Polje(0, 1),
                new Polje(0, 2),
                new Polje(0, 3),
                new Polje(0, 4)
            };

            Brodograditelj b             = new Brodograditelj();
            var            slobodnaPolja = b.DajHorizontalnaPočetnaPolja(polja, 5);

            Assert.AreEqual(0, slobodnaPolja.Count());
        }
Exemplo n.º 11
0
        public void Brodograditelj_DajVertikalnaPočetnaPoljaZa4VertikalnaPoljaNeVraćaNitiJednoPoljeZaBrodDuljine5()
        {
            List <Polje> polja = new List <Polje>
            {
                new Polje(2, 1),
                new Polje(3, 1),
                new Polje(4, 1),
                new Polje(5, 1)
            };

            Brodograditelj b             = new Brodograditelj();
            var            slobodnaPolja = b.DajVertikalnaPočetnaPolja(polja, 5);

            Assert.AreEqual(0, slobodnaPolja.Count());
        }
Exemplo n.º 12
0
        public void Brodograditelj_SložiFlotuVraćaFlotuSaZadanimBrojemBrodova()
        {
            int redaka  = 10;
            int stupaca = 10;

            int[]          duljineBrodova = new int[] { 5, 4, 4, 3, 3, 3, 2, 2, 2, 2 };
            Brodograditelj b     = new Brodograditelj();
            var            flota = b.SložiFlotu(redaka, stupaca, duljineBrodova);

            Assert.AreEqual(10, flota.BrojBrodova);
            // provjerimo koliko je brodova zadane duljine
            Assert.AreEqual(1, flota.Brodovi.Count(brod => brod.Duljina == 5));
            Assert.AreEqual(2, flota.Brodovi.Count(brod => brod.Duljina == 4));
            Assert.AreEqual(3, flota.Brodovi.Count(brod => brod.Duljina == 3));
            Assert.AreEqual(4, flota.Brodovi.Count(brod => brod.Duljina == 2));
        }
Exemplo n.º 13
0
        public void Brodograditelj_DajVertikalnaPočetnaPoljaZa5VertikalnihPoljaVraća2KrajnjaGornjaPoljaZaBrodDuljine4()
        {
            List <Polje> polja = new List <Polje>
            {
                new Polje(1, 2),
                new Polje(2, 2),
                new Polje(3, 2),
                new Polje(4, 2),
                new Polje(5, 2)
            };

            Brodograditelj b             = new Brodograditelj();
            var            slobodnaPolja = b.DajVertikalnaPočetnaPolja(polja, 4);

            Assert.AreEqual(2, slobodnaPolja.Count());
            Assert.IsTrue(slobodnaPolja.Contains(new Polje(1, 2)));
            Assert.IsTrue(slobodnaPolja.Contains(new Polje(2, 2)));
        }
Exemplo n.º 14
0
        public void Brodograditelj_DajHorizontalnaPočetnaPoljaZa5HorizontalnihPoljaVraća2KrajnjaLijevaPoljaZaBrodDuljine4()
        {
            List <Polje> polja = new List <Polje>
            {
                new Polje(0, 0),
                new Polje(0, 1),
                new Polje(0, 2),
                new Polje(0, 3),
                new Polje(0, 4)
            };

            Brodograditelj b             = new Brodograditelj();
            var            slobodnaPolja = b.DajHorizontalnaPočetnaPolja(polja, 4);

            Assert.AreEqual(2, slobodnaPolja.Count());
            Assert.IsTrue(slobodnaPolja.Contains(new Polje(0, 0)));
            Assert.IsTrue(slobodnaPolja.Contains(new Polje(0, 1)));
        }
Exemplo n.º 15
0
        public void Brodograditelj_DajVertikalnaPočetnaPoljaZa5VertikalnihPoljaVraćaSvaPoljaZaBrodDuljine1()
        {
            List <Polje> polja = new List <Polje>
            {
                new Polje(3, 3),
                new Polje(4, 3),
                new Polje(5, 3),
                new Polje(6, 3),
                new Polje(7, 3)
            };

            Brodograditelj b             = new Brodograditelj();
            var            slobodnaPolja = b.DajVertikalnaPočetnaPolja(polja, 1);

            Assert.AreEqual(5, slobodnaPolja.Count());
            Assert.IsTrue(slobodnaPolja.Contains(new Polje(3, 3)));
            Assert.IsTrue(slobodnaPolja.Contains(new Polje(4, 3)));
            Assert.IsTrue(slobodnaPolja.Contains(new Polje(5, 3)));
            Assert.IsTrue(slobodnaPolja.Contains(new Polje(6, 3)));
            Assert.IsTrue(slobodnaPolja.Contains(new Polje(7, 3)));
        }
Exemplo n.º 16
0
        public void Brodograditelj_PoljaKojaTrebaEliminiratiOkoBrodaVraćaPoljaBrodaIPoljaLijevoIIznadZaBrodUDonjemLijevomKutuMreže()
        {
            int   redaka       = 10;
            int   stupaca      = 10;
            int   duljinaBroda = 4;
            Polje početnoPolje = new Polje(redaka - duljinaBroda, 0);
            Smjer smjer        = Smjer.Vertikalno;

            Brodograditelj b          = new Brodograditelj();
            var            poljaBroda = b.DajPoljaZaBrod(smjer, početnoPolje, duljinaBroda);

            var zaEliminirati = b.PoljaKojaTrebaEliminiratiOkoBroda(poljaBroda, redaka, stupaca);

            Assert.AreEqual(10, zaEliminirati.Count());
            foreach (Polje p in poljaBroda)
            {
                Assert.IsTrue(zaEliminirati.Contains(p));
            }
            // provjerimo 3 krajnja polja uz brod (iznad, iznad-desno, desno dolje)
            Assert.IsTrue(zaEliminirati.Contains(new Polje(početnoPolje.Redak - 1, 0)));
            Assert.IsTrue(zaEliminirati.Contains(new Polje(početnoPolje.Redak - 1, 1)));
            Assert.IsTrue(zaEliminirati.Contains(new Polje(redaka - 1, 1)));
        }
Exemplo n.º 17
0
        public void Brodograditelj_PoljaKojaTrebaEliminiratiOkoBrodaVraćaPoljaBrodaIPoljaLijevoIIspodZaBrodUGornjemDesnomKutuMreže()
        {
            int   redaka       = 10;
            int   stupaca      = 10;
            int   duljinaBroda = 4;
            Polje početnoPolje = new Polje(0, stupaca - 1);
            Smjer smjer        = Smjer.Vertikalno;

            Brodograditelj b          = new Brodograditelj();
            var            poljaBroda = b.DajPoljaZaBrod(smjer, početnoPolje, duljinaBroda);

            var zaEliminirati = b.PoljaKojaTrebaEliminiratiOkoBroda(poljaBroda, redaka, stupaca);

            Assert.AreEqual(10, zaEliminirati.Count());
            foreach (Polje p in poljaBroda)
            {
                Assert.IsTrue(zaEliminirati.Contains(p));
            }
            // provjerimo 3 krajnja polja uz brod (lijevo-gore, lijevo-ispod, ispod)
            Assert.IsTrue(zaEliminirati.Contains(new Polje(0, stupaca - 2)));
            Assert.IsTrue(zaEliminirati.Contains(new Polje(duljinaBroda, stupaca - 2)));
            Assert.IsTrue(zaEliminirati.Contains(new Polje(duljinaBroda, stupaca - 1)));
        }
Exemplo n.º 18
0
        public void Brodograditelj_PoljaKojaTrebaEliminiratiOkoBrodaVraćaPoljaBrodaIPoljaIspodIDesnoZaBrodUGornjemLijevomKutuMreže()
        {
            int   redaka       = 10;
            int   stupaca      = 10;
            int   duljinaBroda = 4;
            Polje početnoPolje = new Polje(0, 0);
            Smjer smjer        = Smjer.Horizontalno;

            Brodograditelj b          = new Brodograditelj();
            var            poljaBroda = b.DajPoljaZaBrod(smjer, početnoPolje, duljinaBroda);

            var zaEliminirati = b.PoljaKojaTrebaEliminiratiOkoBroda(poljaBroda, redaka, stupaca);

            Assert.AreEqual(10, zaEliminirati.Count());
            foreach (Polje p in poljaBroda)
            {
                Assert.IsTrue(zaEliminirati.Contains(p));
            }
            // provjerimo 3 krajnja polja uz brod (ispod-lijevo, ispod-desno, desno)
            Assert.IsTrue(zaEliminirati.Contains(new Polje(1, 0)));
            Assert.IsTrue(zaEliminirati.Contains(new Polje(1, 4)));
            Assert.IsTrue(zaEliminirati.Contains(new Polje(0, 4)));
        }
Exemplo n.º 19
0
        public void Brodograditelj_PoljaKojaTrebaEliminiratiOkoBrodaVraćaPoljaBrodaISvaOkolnaPoljaZaBrodUSrediniMreže()
        {
            int   redaka       = 10;
            int   stupaca      = 10;
            int   duljinaBroda = 4;
            Polje početnoPolje = new Polje(3, 2);
            Smjer smjer        = Smjer.Vertikalno;

            Brodograditelj b          = new Brodograditelj();
            var            poljaBroda = b.DajPoljaZaBrod(smjer, početnoPolje, duljinaBroda);

            var zaEliminirati = b.PoljaKojaTrebaEliminiratiOkoBroda(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)));
        }
Exemplo n.º 20
0
        private IEnumerable <Polje> SložiPolja(Smjer smjer, Polje početno, int duljinaBroda)
        {
            Brodograditelj b = new Brodograditelj();

            return(b.DajPoljaZaBrod(smjer, početno, duljinaBroda));
        }