public void Brodograditelj_DajVertikalnaPocetnaPoljaZaBrodDuljine4Vraca2Polja() { BrodograditeljTemplate b = BrodograditeljFactory.DajBrodograditelja(); b.Mreza = new Mreza(5, 1); Assert.IsTrue(b.Mreza.DajVertikalnaSlobodnaPolja(4).Count() == 2); }
public void Brodograditelj_DajHorizontalnaPocetnaPoljaZaBrodDuljine4Vraca2Polja() { BrodograditeljTemplate graditelj = BrodograditeljFactory.DajBrodograditelja(); graditelj.Mreza = new Mreza(1, 5); Assert.IsTrue(graditelj.Mreza.DajHorizontalnaSlobodnaPolja(4).Count() == 2); }
public void Brodograditelj_SloziFlotuVracaFlotuKojaSadrziSveBrodove() { BrodograditeljTemplate uljanik = BrodograditeljFactory.DajBrodograditelja(); int[] duljineBrodova = new int[] { 3, 1, 2, 4 }; Flota f = uljanik.SloziFlotu(10, 10, duljineBrodova); Assert.IsTrue(f.Brodovi.Count == duljineBrodova.Count()); }
public void Brodograditelj_SagradiBrodVracaBrodCijaSvaPoljaSuDioListeSlobodnihPolja() { BrodograditeljTemplate uljanik = BrodograditeljFactory.DajBrodograditelja(); uljanik.SloziFlotu(5, 5, new int[] { 1 }); Brod b = uljanik.SagradiBrod(4); Assert.IsFalse(b.Polja.Except(uljanik.Mreza.DajSlobodnaPolja()).Any()); }
public void Brodograditelj_PostaviBrodNaMrezuIspravnoEliminiraPolja() { BrodograditeljTemplate uljanik = BrodograditeljFactory.DajBrodograditelja(); uljanik.Mreza = new Mreza(5, 5); Brod b = uljanik.SagradiBrod(4); uljanik.PostaviBrodNaMrezu(b); Assert.IsFalse(b.Polja.Intersect(uljanik.Mreza.DajSlobodnaPolja()).Any()); }
public void Brodograditelj_SloziFlotuVracaFlotuKojaSadrziBasOneBrodoveKojeZelimo() { BrodograditeljTemplate uljanik = BrodograditeljFactory.DajBrodograditelja(); int[] duljineBrodova = new int[] { 3, 3, 3, 1, 2, 2, 4, 4, 4, 4 }; Flota f = uljanik.SloziFlotu(10, 10, duljineBrodova); Assert.AreEqual(1, f.Brodovi.Count(brod => brod.Polja.Count == 1)); Assert.AreEqual(2, f.Brodovi.Count(brod => brod.Polja.Count == 2)); Assert.AreEqual(3, f.Brodovi.Count(brod => brod.Polja.Count == 3)); Assert.AreEqual(4, f.Brodovi.Count(brod => brod.Polja.Count == 4)); }
public void Brodograditelj_SagradiBrodVracaBrodKojiJeDioMreze() { BrodograditeljTemplate b = BrodograditeljFactory.DajBrodograditelja(); b.Mreza = new Mreza(10, 10); Brod brod = b.SagradiBrod(4); foreach (Polje p in brod.Polja) { Assert.IsTrue(b.Mreza.polja.Contains(p)); } }
public void BrodograditeljFactoryIspravnoDajeBrodograditeljaZaPravila() { BrodograditeljTemplate b = BrodograditeljFactory.DajBrodograditelja(); Assert.IsInstanceOfType(b, typeof(BrodograditeljRazmak)); BrodograditeljFactory.Pravila = PravilaIgre.DodirivanjeDozvoljeno; BrodograditeljTemplate b1 = BrodograditeljFactory.DajBrodograditelja(); Assert.IsInstanceOfType(b1, typeof(BrodograditeljDodirivanje)); BrodograditeljFactory.Pravila = PravilaIgre.DodirivanjeZabranjeno; BrodograditeljTemplate b2 = BrodograditeljFactory.DajBrodograditelja(); Assert.IsInstanceOfType(b2, typeof(BrodograditeljRazmak)); }
public void BrodograditeljRazmak_PostaviBrodNaMrezuIspravnoEliminiraPolja() { BrodograditeljTemplate uljanik = BrodograditeljFactory.DajBrodograditelja(); uljanik.Mreza = new Mreza(10, 10); Brod b = uljanik.SagradiBrod(4); uljanik.PostaviBrodNaMrezu(b); List <Polje> prosireniBrod = new List <Polje>(); foreach (Polje p in b.Polja) { prosireniBrod.Add(p); prosireniBrod.Add(new Polje(p.Redak, p.Stupac + 1)); prosireniBrod.Add(new Polje(p.Redak, p.Stupac - 1)); prosireniBrod.Add(new Polje(p.Redak + 1, p.Stupac)); prosireniBrod.Add(new Polje(p.Redak - 1, p.Stupac)); } Assert.IsFalse(prosireniBrod.Intersect(uljanik.Mreza.DajSlobodnaPolja()).Any()); }
private void btnFight_Click(object sender, EventArgs e) { // na pocetku ukloni stare flote ako postoje if (mojaFlotaGUI != null) { this.Controls.Remove(mojaFlotaGUI); } if (protivnikFlotaGUI != null) { this.Controls.Remove(protivnikFlotaGUI); } BrodograditeljTemplate brodograditelj = BrodograditeljFactory.DajBrodograditelja(); int[] duljine = SastaviListuBrodova(); int redaka = (int)numRedaka.Value; int stupaca = (int)numStupaca.Value; flota = brodograditelj.SloziFlotu(redaka, stupaca, duljine); mojaFlotaGUI = new FlotaGUI(redaka, stupaca); mojaFlotaGUI.sirina = 250; mojaFlotaGUI.Location = new Point(20, 170); mojaFlotaGUI.ZadajFlotu(flota); this.Controls.Add(mojaFlotaGUI); protivnikFlotaGUI = new FlotaNeprijatelj(redaka, stupaca); protivnikFlotaGUI.sirina = 250; protivnikFlotaGUI.Location = new Point(370, 170); this.Controls.Add(protivnikFlotaGUI); ai = AIFactory.DajAI(); ai.Initialize(redaka, stupaca, duljine); // iniciraj protivnika protivnik = new OOMPotapanje.Protivnik(redaka, stupaca, duljine); // zapocni igru ProgressChangedEventArgs x; bgWorker.RunWorkerAsync(); }