コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: Ploca.cs プロジェクト: drazen41/Chess
 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));
     }
 }