Exemplo n.º 1
0
 public Schaakstuk(SchaakstukType Type, SchaakstukKleur Kleur)
 {
     this.kleur = Kleur;
     this.type = Type;
     moved = false;
 }
Exemplo n.º 2
0
        private static void MaakSprong(Positie van,Positie naar ,ref Schaakstuk[,] bord,ref SchaakstukKleur beurt)
        {
            if (bord[van.rij,van.kolom] != null)
            {
                bool goedGekeurd = false;
                switch (bord[van.rij, van.kolom].type)
                {
                    case SchaakstukType.Pion:
                        int value = Math.Abs(van.rij - naar.rij);
                        if (value == 1 || (!bord[van.rij, van.kolom].moved && value ==2) )
                        {
                            bord[van.rij, van.kolom].moved = true;
                            goedGekeurd = true;
                        }
                        break;
                    case SchaakstukType.Toren:
                        int value1 = Math.Abs(van.rij - naar.rij);
                        int value2 = Math.Abs(van.kolom - naar.kolom);
                        if ((value2 == 0 && value1 > 0) || (value2 > 0 && value1 == 0))
                        {
                            goedGekeurd = true;
                        }
                        break;
                    case SchaakstukType.Paard:
                        value1 = Math.Abs(van.rij - naar.rij);
                        value2 = Math.Abs(van.kolom - naar.kolom);
                        if ((value2 == 1 && value1 == 2)|| (value2 == 2 && value1 == 1))
                        {
                            goedGekeurd = true;
                        }
                        break;
                    case SchaakstukType.Loper:
                        value1 = Math.Abs(van.rij - naar.rij);
                        value2 = Math.Abs(van.kolom - naar.kolom);
                        if (value2 == value1 && value1 != 0)
                        {
                            goedGekeurd = true;
                        }
                        break;
                    case SchaakstukType.Koning:
                        value1 = Math.Abs(van.rij - naar.rij);
                        value2 = Math.Abs(van.kolom - naar.kolom);
                        if ((value2 == 1 || value1 == 1) && !(value2 > 1 || value1 > 1))
                        {
                            goedGekeurd = true;
                        }
                        break;
                    case SchaakstukType.Koningin:
                        value1 = Math.Abs(van.rij - naar.rij);
                        value2 = Math.Abs(van.kolom - naar.kolom);
                        if (value2 == value1 && value1 != 0)
                        {
                            goedGekeurd = true;
                        }
                        else if ((value2 == 0 && value1 > 0) || (value2 > 0 && value1 == 0))
                        {
                            goedGekeurd = true;
                        }
                        break;
                }
                if (bord[van.rij, van.kolom].kleur == beurt && goedGekeurd && (bord[naar.rij,naar.kolom] == null || bord[van.rij, van.kolom].kleur != bord[naar.rij, naar.kolom].kleur))
                {
                    bord[naar.rij, naar.kolom] = bord[van.rij, van.kolom];

                    bord[van.rij, van.kolom] = null;

                    if (beurt == SchaakstukKleur.Wit)
                    {
                        beurt = SchaakstukKleur.Zwart;
                    }
                    else
                    {
                        beurt = SchaakstukKleur.Wit;

                    }
                }
            }
        }
Exemplo n.º 3
0
 public Schaakstuk(SchaakstukType type, SchaakstukKleur kleur)
 {
     this.type  = type;
     this.kleur = kleur;
 }