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); }
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); }
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; }
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))); }
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); }
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; }
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)); }
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()); }
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()); }
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)); }
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))); }
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))); }
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))); }
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))); }
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))); }
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))); }
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))); }
private IEnumerable <Polje> SložiPolja(Smjer smjer, Polje početno, int duljinaBroda) { Brodograditelj b = new Brodograditelj(); return(b.DajPoljaZaBrod(smjer, početno, duljinaBroda)); }