public void Polje_PoljaSIstimRetkomIStupcemSuJednaka() { Polje p1 = new Polje(1, 2); Polje p2 = new Polje(1, 2); Assert.AreEqual(p1, p2); }
public void Polje_RedakIStupacJednakiSuArgumentimaKonstruktora() { Polje p = new Polje(2, 3); Assert.AreEqual(2, p.Redak); Assert.AreEqual(3, p.Stupac); }
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); }
public void Polje_ZaDvaPoljaKojaImajuIsteKoordinateMetodaEqualsVraćaTrue() { Polje p1 = new Polje(2, 3); Polje p2 = new Polje(2, 3); Assert.IsTrue(p1.Equals(p2)); }
public void Polje_SvojstvaRedakStupacJednakaSuVrijednostimaZadanimKonstruktorom() { Polje p = new Polje(1, 2); Assert.AreEqual(1, p.Redak); Assert.AreEqual(2, p.Stupac); }
public void Polje_PoljaSaRazlicitimStupcemIRetkomSuRazlicita() { Polje p1 = new Polje(1, 2); Polje p2 = new Polje(1, 3); Assert.AreNotEqual(p1, p2); }
public void Polje_ZaDvaPoljaKojaNemajuIstiStupacMetodaEqualsVraćaFalse() { Polje p1 = new Polje(2, 3); Polje p2 = new Polje(2, 4); Assert.IsFalse(p1.Equals(p2)); }
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))); }
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; }
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)); }
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); }
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)); }
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)); }
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); }
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(); }
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)); }
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)); }
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)); }
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)); }
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)); }
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())); }
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())); }
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)); }
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); }
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); }
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); }
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)); }
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); }
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); }
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)); }