public override bool LegalanPotez(Pozicija novaPozicija, Ploca ploca) { base.LegalanPotez(novaPozicija, ploca); Top top = new Top(this.Boja, this.Id); top.Pozicija.PostaviHorizontalno(this.Pozicija.Horizontalno).PostaviVertikalno(this.Pozicija.Vertikalno); Lovac lovac = new Lovac(this.Boja, this.Id); lovac.Pozicija.PostaviHorizontalno(this.Pozicija.Horizontalno).PostaviVertikalno(this.Pozicija.Vertikalno); bool legalan = true; try { legalan = top.LegalanPotez(novaPozicija, ploca); } catch (IllegalMoveException ime) { if (ime.NemogucPotez) { legalan = lovac.LegalanPotez(novaPozicija, ploca); } else { throw ime; } } return(true); }
private void Inicijalizacija() { stanje[0, 0] = new Top(Boja.Bijeli, 1).PostaviPoziciju(new Pozicija().PostaviHorizontalno(0).PostaviVertikalno(0)); stanje[0, 1] = new Skakac(Boja.Bijeli, 1).PostaviPoziciju(new Pozicija().PostaviHorizontalno(0).PostaviVertikalno(1)); stanje[0, 2] = new Lovac(Boja.Bijeli, 1).PostaviPoziciju(new Pozicija().PostaviHorizontalno(0).PostaviVertikalno(2)); stanje[0, 3] = new Kralj(Boja.Bijeli).PostaviPoziciju(new Pozicija().PostaviHorizontalno(0).PostaviVertikalno(4)); stanje[0, 4] = new Kraljica(Boja.Bijeli, 1).PostaviPoziciju(new Pozicija().PostaviHorizontalno(0).PostaviVertikalno(3)); stanje[0, 5] = new Lovac(Boja.Bijeli, 2).PostaviPoziciju(new Pozicija().PostaviHorizontalno(0).PostaviVertikalno(5)); stanje[0, 6] = new Skakac(Boja.Bijeli, 2).PostaviPoziciju(new Pozicija().PostaviHorizontalno(0).PostaviVertikalno(6)); stanje[0, 7] = new Top(Boja.Bijeli, 2).PostaviPoziciju(new Pozicija().PostaviHorizontalno(0).PostaviVertikalno(7)); for (int i = 0; i < 8; i++) { stanje[1, i] = new Pjesak(Boja.Bijeli, i + 1).PostaviPoziciju(new Pozicija().PostaviHorizontalno(1).PostaviVertikalno(i)); } stanje[7, 0] = new Top(Boja.Crni, 1).PostaviPoziciju(new Pozicija().PostaviHorizontalno(7).PostaviVertikalno(0)); stanje[7, 1] = new Skakac(Boja.Crni, 1).PostaviPoziciju(new Pozicija().PostaviHorizontalno(7).PostaviVertikalno(1)); stanje[7, 2] = new Lovac(Boja.Crni, 1).PostaviPoziciju(new Pozicija().PostaviHorizontalno(7).PostaviVertikalno(2)); stanje[7, 3] = new Kralj(Boja.Crni).PostaviPoziciju(new Pozicija().PostaviHorizontalno(7).PostaviVertikalno(4)); stanje[7, 4] = new Kraljica(Boja.Crni, 1).PostaviPoziciju(new Pozicija().PostaviHorizontalno(7).PostaviVertikalno(3)); stanje[7, 5] = new Lovac(Boja.Crni, 2).PostaviPoziciju(new Pozicija().PostaviHorizontalno(7).PostaviVertikalno(5)); stanje[7, 6] = new Skakac(Boja.Crni, 2).PostaviPoziciju(new Pozicija().PostaviHorizontalno(7).PostaviVertikalno(6)); stanje[7, 7] = new Top(Boja.Crni, 2).PostaviPoziciju(new Pozicija().PostaviHorizontalno(7).PostaviVertikalno(7)); for (int i = 0; i < 8; i++) { stanje[6, i] = new Pjesak(Boja.Crni, i + 1).PostaviPoziciju(new Pozicija().PostaviHorizontalno(6).PostaviVertikalno(i)); } }