public Schaakstuk(SchaakstukType Type, SchaakstukKleur Kleur) { this.kleur = Kleur; this.type = Type; moved = false; }
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; } } } }
public Schaakstuk(SchaakstukType type, SchaakstukKleur kleur) { this.type = type; this.kleur = kleur; }