public void Flota_ObradiPogodakIspravnoJavljaPoraz() { List <Polje> polja = new List <Polje> { new Polje(0, 1), new Polje(0, 2) }; Brod b = new Brod(polja); Flota f = new Flota(); f.DodajBrod(b); rezultatGadjanja rez = f.ObradiPogodak(0, 2); rez = f.ObradiPogodak(0, 1); Assert.AreEqual(rezultatGadjanja.PORAZ, rez); }
public void Flota_ObradiPogodakIspravnoJavljaPotapanje() { List <Polje> polja = new List <Polje> { new Polje(0, 1), new Polje(0, 2) }; Brod b = new Brod(polja); Flota f = new Flota(); f.DodajBrod(b); List <Polje> polja2 = new List <Polje> { new Polje(2, 1), new Polje(2, 2) }; Brod b2 = new Brod(polja2); f.DodajBrod(b2); rezultatGadjanja rez = f.ObradiPogodak(0, 2); rez = f.ObradiPogodak(0, 1); Assert.AreEqual(rezultatGadjanja.potopljen, rez); Assert.IsFalse(f.Brodovi.Contains(b)); }
public void Igraj() { rezultatGadjanja rez = rezultatGadjanja.nepoznato; while (true) { // za pocetak mi igramo prvi, dok ne smislimo bolji algoritam Polje p = ai.Gadjaj(); rez = (rezultatGadjanja)protivnik.JaviRezultat(new Tuple <int, int>(p.Redak, p.Stupac)); if (rez == rezultatGadjanja.PORAZ) { this.tbDnevnik.Text = "Mi smo pobjedili!"; break; } this.Invoke((MethodInvoker) delegate { tbDnevnik.AppendText("(" + p.Redak + ", " + p.Stupac + "): " + rez.ToString() + "\n"); }); Brod b = new Brod(ai.zap.trenutnaMeta); ai.ObradiPogodak(rez); protivnikFlotaGUI.DodajPolje(p, rez); if (rez == rezultatGadjanja.potopljen) { protivnikFlotaGUI.PotopiBrod(b); } this.Invoke((MethodInvoker) delegate { protivnikFlotaGUI.Invalidate(); }); // sada igra protivnik Tuple <int, int> koord = protivnik.Gadjaj(); p = new Polje(koord.Item1, koord.Item2); rez = flota.ObradiPogodak(p.Redak, p.Stupac); if (rez == rezultatGadjanja.PORAZ) { this.tbDnevnik.Text = "Protivnik je pobjedio!"; break; } this.Invoke((MethodInvoker) delegate { tbDnevnik.AppendText("@@ (" + p.Redak + ", " + p.Stupac + "): " + rez.ToString() + "\n"); }); protivnik.ObradiPogodak((OOMPotapanje.mojRezultatGadjanja)rez); this.Invoke((MethodInvoker) delegate { mojaFlotaGUI.ZadajFlotu(flota); }); // spavaj da ne bude prebrzo Thread.Sleep(500); } }