예제 #1
0
        public void SelecteerVakje(Vakje nieuwVakje, Spel spel)
        {
            if (Selected != null)                                          //alleen als er al iets is geselecteerd
            {
                Vakje clicked = nieuwVakje;                                //voor de singleplayer
                Selected.schaakstuk.Verplaats(nieuwVakje, Selected, spel); //probeer het schaakstuk te verplaatsen

                Selected.Pbox.update();                                    //update het eerste vakje
                nieuwVakje.Pbox.update();                                  //update het tweede vakje
                Selected = null;                                           //niets is meer geselecteerd

                if (ValideZet == true)                                     //als het schaakstuk daar heen mag
                {
                    spel.Selected = clicked;                               //voor de singleplayer
                    spel.VeranderSpeler();                                 //de andere speler is aan zet
                    if (spel.SpelMode == "Singleplayer")
                    {
                        spel.ComputerSpeler.Zet(clicked);  // laat de computer op de mens reageren
                        spel.VeranderSpeler();
                    }

                    // De pion voor en-passant wordt weer vergeten.
                    EnPassantPion = null;
                }
                ValideZet = false;
            }
        }
예제 #2
0
        public void SelecteerStuk(Vakje clicked, Spel spel)
        {
            if (Selected != null) //alleen als er al een stuk is geselecteerd
            {
                if (Selected.schaakstuk is Toren && clicked.schaakstuk is Koning)
                {
                    //als het eerste stuk een toren is en het tweede een koning probeer dan te rokeren
                    (clicked.schaakstuk as Koning).Rokeren(Selected, clicked, this, spel);
                    DeselecteerStuk();
                }

                else if (Selected.schaakstuk is Koning && clicked.schaakstuk is Toren)
                {
                    //als het eerste stuk een koning is en het tweede een toren probeer dan te rokeren
                    (Selected.schaakstuk as Koning).Rokeren(clicked, Selected, this, spel);
                    DeselecteerStuk();
                }
            }

            if (ValideZet == false)      //als hij niet gerokeerd heeft
            {
                if (clicked == Selected) //als het stuk waarop geklikt is al geselecteerd was
                {
                    DeselecteerStuk();
                }
                else
                {
                    if (Selected != null) //als er al een stuk geselecteerd staat
                    {
                        DeselecteerStuk();
                    }
                    this.Selected          = clicked;      //het stuk waarop geklikt is wordt geselecteerd
                    clicked.Pbox.BackColor = _selectColor; //de kleur van het vakje veranderd
                }
            }
            else // als het rokeren gelukt is
            {
                spel.VeranderSpeler(); //De speler veranderd;

                // De pion voor en-passant wordt weer vergeten.
                EnPassantPion = null;
            }

            ValideZet = false;
        }
예제 #3
0
        public void Rokeren(Vakje vakjeToren, Vakje vakjeKoning, Mens speler, Spel spel)
        {
            Vakje      toren1     = vakjeToren;
            Vakje      koning1    = vakjeKoning;
            bool       rokeerwest = true;
            Schaakstuk tempToren  = vakjeToren.schaakstuk;
            Vakje      _Randoost;
            Vakje      vorige      = vakjeKoning;
            bool       checkschaak = false;

            // Rokeren voor klassieke schaakvariant
            if (spel.Variant == "Klassiek")
            {
                _wilRokeren = false;
                bool magrokeren = true;
                if (vakjeToren.Buren[1] == null) // Als het gaat om de rechter toren.
                {
                    //check of rokeren mogelijk is door te kijken of alle vakjes leeg zijn, en de koning en toren nog geen zet gedaan hebben.
                    if (_eersteZet == false && (vakjeToren.schaakstuk as Toren)._eersteZet == false && vakjeToren.Buren[3].schaakstuk == null && vakjeToren.Buren[3].Buren[3].schaakstuk == null)
                    {
                        while (vorige != null)
                        {
                            //voor elk vakje van de koning tot en met de toren moet gekeken worden dat dit vakje niet geraakt kan worden.
                            checkschaak = spel.schaakbord.CheckSchaak(vorige, speler.koning.Kleur);
                            if (checkschaak == true)
                            {
                                magrokeren = false;
                            }
                            vorige = vorige.Buren[1];
                        }

                        if (magrokeren == true)
                        {
                            // popup voor rokeren
                            Rokerenmelding _Rokerenmelding = new Rokerenmelding(this);
                            _Rokerenmelding.ShowDialog();
                        }
                    }

                    if (_wilRokeren == true)
                    {
                        this.Vakje = vakjeKoning.Buren[1].Buren[1];
                        vakjeKoning.Buren[1].Buren[1].schaakstuk = this;

                        tempToren.Vakje = vakjeKoning.Buren[1];
                        vakjeKoning.Buren[1].schaakstuk = tempToren;

                        vakjeKoning.schaakstuk = null;
                        vakjeToren.schaakstuk  = null;

                        this.Vakje.Pbox.update();
                        this.Vakje.Buren[3].Buren[3].Pbox.update();
                        this.Vakje.Buren[3].Pbox.update();
                        this.Vakje.Buren[1].Pbox.update();

                        speler.ValideZet = true;
                        _eersteZet       = true;

                        if (spel.SpelMode == "Singleplayer")
                        {
                            spel.ComputerSpeler.Zet(tempToren.Vakje);  // laat de computer op de mens reageren
                            spel.VeranderSpeler();
                        }
                    }
                }

                else if (vakjeToren.Buren[3] == null) //Als het gaat om de linker toren.
                {
                    //check of rokeren mogelijk is door te kijken of alle vakjes leeg zijn, en de koning en toren nog geen zet gedaan hebben.
                    if (_eersteZet == false && (vakjeToren.schaakstuk as Toren)._eersteZet == false && vakjeToren.Buren[1].schaakstuk == null && vakjeToren.Buren[1].Buren[1].schaakstuk == null && vakjeToren.Buren[1].Buren[1].Buren[1].schaakstuk == null)
                    {
                        while (vorige != null)
                        {
                            //voor elk vakje van de koning tot en met de toren moet gekeken worden dat dit vakje niet geraakt kan worden.
                            checkschaak = spel.schaakbord.CheckSchaak(vorige, speler.koning.Kleur);
                            if (checkschaak == true)
                            {
                                magrokeren = false;
                            }
                            vorige = vorige.Buren[3];
                        }

                        if (magrokeren == true)
                        {
                            // popup voor rokeren
                            Rokerenmelding _Rokerenmelding = new Rokerenmelding(this);
                            _Rokerenmelding.ShowDialog();
                            spel.VeranderSpeler();
                        }
                    }
                    if (_wilRokeren == true)
                    {
                        this.Vakje = vakjeKoning.Buren[3].Buren[3];
                        vakjeKoning.Buren[3].Buren[3].schaakstuk = this;

                        tempToren.Vakje = vakjeKoning.Buren[3];
                        vakjeKoning.Buren[3].schaakstuk = tempToren;

                        vakjeToren.Buren[1].schaakstuk = null;
                        vakjeKoning.schaakstuk         = null;
                        vakjeToren.schaakstuk          = null;

                        this.Vakje.Pbox.update();
                        this.Vakje.Buren[3].Buren[3].Pbox.update();
                        this.Vakje.Buren[3].Pbox.update();
                        this.Vakje.Buren[1].Pbox.update();
                        this.Vakje.Buren[1].Buren[1].Pbox.update();

                        speler.ValideZet = true;
                        _eersteZet       = true;
                    }
                }
            }
            // Rokeren voor 960 schaakvariant
            else if (spel.Variant == "Chess960")
            {
                if (_eersteZet == false && (vakjeToren.schaakstuk as Toren)._eersteZet == false)
                {
                    rokeerwest = false;
                    bool  vakjesleeg         = false;
                    int   aantalplaatsenwest = 0;                   // aantal plaatsen tussen koning en linker toren
                    int   aantalplaatsenoost = 0;                   // aantal plaatsen tussen koning en rechter toren
                    int   i           = 0;
                    int   west        = 0;
                    Vakje _vorigWest  = vakjeKoning.Buren[3];
                    Vakje _vorigVakje = vakjeKoning.Buren[3];

                    while (_vorigWest != null)                      //bepaald locatie van de koning a.d.v. het aantal buren links
                    {
                        west++;
                        if (_vorigWest.schaakstuk is Toren)
                        {
                            aantalplaatsenwest = west;
                        }
                        if (_vorigWest.Buren[3] != null)
                        {
                            _vorigWest = _vorigWest.Buren[3];
                        }
                        else
                        {
                            break;
                        }
                    }
                    Vakje _randWest  = _vorigWest;
                    Vakje _vorigOost = _randWest;
                    _Randoost = _randWest.Buren[1].Buren[1].Buren[1].Buren[1].Buren[1].Buren[1].Buren[1];
                    Vakje koningnieuw_W = _randWest.Buren[1].Buren[1];
                    Vakje torennieuw_W  = _randWest.Buren[1].Buren[1].Buren[1];
                    Vakje koningnieuw_O = _Randoost.Buren[3];
                    Vakje torennieuw_O  = _Randoost.Buren[3].Buren[3];
                    // voor west

                    vakjesleeg = true;

                    if (vakjeKoning.Buren[3].schaakstuk is Toren)
                    {
                        if (vakjeKoning.Buren[3] == vakjeToren)
                        {
                            aantalplaatsenwest = 1;
                            rokeerwest         = true;

                            while (i <= aantalplaatsenwest)
                            {
                                if (_vorigVakje.schaakstuk == null || _vorigVakje.schaakstuk is Toren)
                                {
                                    _vorigVakje = _vorigVakje.Buren[3];
                                    if (koningnieuw_W.schaakstuk == null || koningnieuw_W == vakjeKoning || koningnieuw_W == vakjeToren)
                                    {
                                        if (torennieuw_W.schaakstuk == null || torennieuw_W == vakjeKoning || torennieuw_W == vakjeToren)
                                        {
                                            vakjesleeg = true;
                                        }
                                        else
                                        {
                                            vakjesleeg = false;
                                        }
                                    }
                                    else
                                    {
                                        vakjesleeg = false;
                                    }
                                }
                                else
                                {
                                    vakjesleeg = false;
                                }

                                i++;
                            }
                            _magRokeren = true;
                        }
                    }
                    else if (vakjeKoning.Buren[3].Buren[3].schaakstuk is Toren)
                    {
                        if (vakjeKoning.Buren[3].Buren[3] == vakjeToren)
                        {
                            aantalplaatsenwest = 2;
                            rokeerwest         = true;
                            while (i < aantalplaatsenwest - 1)
                            {
                                if (_vorigVakje.schaakstuk == null || _vorigVakje.schaakstuk is Toren)
                                {
                                    _vorigVakje = _vorigVakje.Buren[3];
                                    if (koningnieuw_W.schaakstuk == null || koningnieuw_W == vakjeKoning || koningnieuw_W == vakjeToren)
                                    {
                                        if (torennieuw_W.schaakstuk == null || torennieuw_W == vakjeKoning || torennieuw_W == vakjeToren)
                                        {
                                            vakjesleeg = true;
                                        }
                                        else
                                        {
                                            vakjesleeg = false;
                                        }
                                    }
                                    else
                                    {
                                        vakjesleeg = false;
                                    }
                                }
                                else
                                {
                                    vakjesleeg = false;
                                }
                                i++;
                            }
                            _magRokeren = true;
                        }
                    }
                    else if (vakjeKoning.Buren[3].Buren[3].Buren[3].schaakstuk is Toren)
                    {
                        if (vakjeKoning.Buren[3].Buren[3].Buren[3] == vakjeToren)
                        {
                            rokeerwest         = true;
                            aantalplaatsenwest = 3;
                            while (i < aantalplaatsenwest - 1)
                            {
                                if (_vorigVakje.schaakstuk == null || _vorigVakje.schaakstuk is Toren)
                                {
                                    _vorigVakje = _vorigVakje.Buren[3];
                                    if (koningnieuw_W.schaakstuk == null || koningnieuw_W == vakjeKoning || koningnieuw_W == vakjeToren)
                                    {
                                        if (torennieuw_W.schaakstuk == null || torennieuw_W == vakjeKoning || torennieuw_W == vakjeToren)
                                        {
                                            vakjesleeg = true;
                                        }
                                        else
                                        {
                                            vakjesleeg = false;
                                        }
                                    }
                                    else
                                    {
                                        vakjesleeg = false;
                                    }
                                }
                                else
                                {
                                    vakjesleeg = false;
                                }
                                i++;
                            }
                            _magRokeren = true;
                        }
                    }
                    else if (vakjeKoning.Buren[3].Buren[3].Buren[3].Buren[3].schaakstuk is Toren)
                    {
                        if (vakjeKoning.Buren[3].Buren[3].Buren[3].Buren[3] == vakjeToren)
                        {
                            rokeerwest         = true;
                            aantalplaatsenwest = 4;
                            while (i < aantalplaatsenwest - 1)
                            {
                                if (_vorigVakje.schaakstuk == null || _vorigVakje.schaakstuk is Toren)
                                {
                                    _vorigVakje = _vorigVakje.Buren[3];
                                    if (koningnieuw_W.schaakstuk == null || koningnieuw_W == vakjeKoning || koningnieuw_W == vakjeToren)
                                    {
                                        if (torennieuw_W.schaakstuk == null || torennieuw_W == vakjeKoning || torennieuw_W == vakjeToren)
                                        {
                                            vakjesleeg = true;
                                        }
                                        else
                                        {
                                            vakjesleeg = false;
                                        }
                                    }
                                    else
                                    {
                                        vakjesleeg = false;
                                    }
                                }
                                else
                                {
                                    vakjesleeg = false;
                                }
                                i++;
                            }
                            _magRokeren = true;
                        }
                    }
                    else if (vakjeKoning.Buren[3].Buren[3].Buren[3].Buren[3].Buren[3].schaakstuk is Toren)
                    {
                        if (vakjeKoning.Buren[3].Buren[3].Buren[3].Buren[3].Buren[3] == vakjeToren)
                        {
                            rokeerwest         = true;
                            aantalplaatsenwest = 5;
                            while (i < aantalplaatsenwest - 1)
                            {
                                if (_vorigVakje.schaakstuk == null || _vorigVakje.schaakstuk is Toren)
                                {
                                    _vorigVakje = _vorigVakje.Buren[3];
                                    if (koningnieuw_W.schaakstuk == null || koningnieuw_W == vakjeKoning || koningnieuw_W == vakjeToren)
                                    {
                                        if (torennieuw_W.schaakstuk == null || torennieuw_W == vakjeKoning || torennieuw_W == vakjeToren)
                                        {
                                            vakjesleeg = true;
                                        }
                                        else
                                        {
                                            vakjesleeg = false;
                                        }
                                    }
                                    else
                                    {
                                        vakjesleeg = false;
                                    }
                                }
                                else
                                {
                                    vakjesleeg = false;
                                }
                                i++;
                            }
                            _magRokeren = true;
                        }
                    }
                    else if (vakjeKoning.Buren[3].Buren[3].Buren[3].Buren[3].Buren[3].Buren[3].schaakstuk is Toren)
                    {
                        if (vakjeKoning.Buren[3].Buren[3].Buren[3].Buren[3].Buren[3].Buren[3] == vakjeToren)
                        {
                            rokeerwest         = true;
                            aantalplaatsenwest = 6;
                            while (i < aantalplaatsenwest - 1)
                            {
                                if (_vorigVakje.schaakstuk == null || _vorigVakje.schaakstuk is Toren)
                                {
                                    _vorigVakje = _vorigVakje.Buren[3];
                                    if (koningnieuw_W.schaakstuk == null || koningnieuw_W == vakjeKoning || koningnieuw_W == vakjeToren)
                                    {
                                        if (torennieuw_W.schaakstuk == null || torennieuw_W == vakjeKoning || torennieuw_W == vakjeToren)
                                        {
                                            vakjesleeg = true;
                                        }
                                        else
                                        {
                                            vakjesleeg = false;
                                        }
                                    }
                                    else
                                    {
                                        vakjesleeg = false;
                                    }
                                }
                                else
                                {
                                    vakjesleeg = false;
                                }
                                i++;
                            }
                            _magRokeren = true;
                        }
                    }
                    else if (vakjeKoning.Buren[3].Buren[3].Buren[3].Buren[3].Buren[3].Buren[3].Buren[3].schaakstuk is Toren)
                    {
                        if (vakjeKoning.Buren[3].Buren[3].Buren[3].Buren[3].Buren[3].Buren[3].Buren[3] == vakjeToren)
                        {
                            rokeerwest         = true;
                            aantalplaatsenwest = 7;
                            while (i < aantalplaatsenwest - 1)
                            {
                                if (_vorigVakje.schaakstuk == null || _vorigVakje.schaakstuk is Toren)
                                {
                                    _vorigVakje = _vorigVakje.Buren[3];
                                    if (koningnieuw_W.schaakstuk == null || koningnieuw_W == vakjeKoning || koningnieuw_W == vakjeToren)
                                    {
                                        if (torennieuw_W.schaakstuk == null || torennieuw_W == vakjeKoning || torennieuw_W == vakjeToren)
                                        {
                                            vakjesleeg = true;
                                        }
                                        else
                                        {
                                            vakjesleeg = false;
                                        }
                                    }
                                    else
                                    {
                                        vakjesleeg = false;
                                    }
                                }
                                else
                                {
                                    vakjesleeg = false;
                                }
                                i++;
                            }
                            _magRokeren = true;
                        }
                    }

                    if (rokeerwest == false)
                    {
                        _vorigVakje = vakjeKoning.Buren[1];
                        // voor oost
                        vakjesleeg = true;
                        if (vakjeKoning.Buren[1] == vakjeToren)
                        {
                            rokeerwest  = false;
                            _magRokeren = true;
                            while (i <= aantalplaatsenoost)
                            {
                                if (_vorigVakje.schaakstuk == null || _vorigVakje.schaakstuk is Toren)
                                {
                                    _vorigVakje = _vorigVakje.Buren[1];
                                    if (koningnieuw_O.schaakstuk == null || koningnieuw_O.schaakstuk is Koning || koningnieuw_O == vakjeToren)
                                    {
                                        if (torennieuw_O.schaakstuk == null || torennieuw_O.schaakstuk is Koning || torennieuw_O == vakjeToren)
                                        {
                                            vakjesleeg = true;
                                        }
                                        else
                                        {
                                            vakjesleeg = false;
                                        }
                                    }
                                    else
                                    {
                                        vakjesleeg = false;
                                    }
                                }
                                else
                                {
                                    vakjesleeg = false;
                                }
                                i++;
                            }
                            _magRokeren = true;
                        }
                        else if (vakjeKoning.Buren[1].Buren[1] == vakjeToren)
                        {
                            rokeerwest         = false;
                            aantalplaatsenoost = 2;
                            while (i < aantalplaatsenoost - 1)
                            {
                                if (_vorigVakje.schaakstuk == null || _vorigVakje.schaakstuk is Toren)
                                {
                                    _vorigVakje = _vorigVakje.Buren[1];
                                    if (koningnieuw_O.schaakstuk == null || koningnieuw_O.schaakstuk is Koning || koningnieuw_O == vakjeToren)
                                    {
                                        if (torennieuw_O.schaakstuk == null || torennieuw_O.schaakstuk is Koning || torennieuw_O == vakjeToren)
                                        {
                                            vakjesleeg = true;
                                        }
                                        else
                                        {
                                            vakjesleeg = false;
                                        }
                                    }
                                    else
                                    {
                                        vakjesleeg = false;
                                    }
                                }
                                else
                                {
                                    vakjesleeg = false;
                                }
                                i++;
                            }
                            _magRokeren = true;
                        }
                        else if (vakjeKoning.Buren[1].Buren[1].Buren[1] == vakjeToren)
                        {
                            rokeerwest         = false;
                            aantalplaatsenoost = 3;
                            while (i < aantalplaatsenoost - 1)
                            {
                                if (_vorigVakje.schaakstuk == null || _vorigVakje.schaakstuk is Toren)
                                {
                                    _vorigVakje = _vorigVakje.Buren[1];
                                    if (koningnieuw_O.schaakstuk == null || koningnieuw_O.schaakstuk is Koning || koningnieuw_O == vakjeToren)
                                    {
                                        if (torennieuw_O.schaakstuk == null || torennieuw_O.schaakstuk is Koning || torennieuw_O == vakjeToren)
                                        {
                                            vakjesleeg = true;
                                        }
                                        else
                                        {
                                            vakjesleeg = false;
                                        }
                                    }
                                    else
                                    {
                                        vakjesleeg = false;
                                    }
                                }
                                else
                                {
                                    vakjesleeg = false;
                                }
                                i++;
                            }

                            _magRokeren = true;
                        }
                        else if (vakjeKoning.Buren[1].Buren[1].Buren[1].Buren[1] == vakjeToren)
                        {
                            rokeerwest         = false;
                            aantalplaatsenoost = 4;
                            while (i < aantalplaatsenoost - 1)
                            {
                                if (_vorigVakje.schaakstuk == null || _vorigVakje.schaakstuk is Toren)
                                {
                                    _vorigVakje = _vorigVakje.Buren[1];
                                    if (koningnieuw_O.schaakstuk == null || koningnieuw_O.schaakstuk is Koning || koningnieuw_O == vakjeToren)
                                    {
                                        if (torennieuw_O.schaakstuk == null || torennieuw_O.schaakstuk is Koning || torennieuw_O == vakjeToren)
                                        {
                                            vakjesleeg = true;
                                        }
                                        else
                                        {
                                            vakjesleeg = false;
                                        }
                                    }
                                    else
                                    {
                                        vakjesleeg = false;
                                    }
                                }
                                else
                                {
                                    vakjesleeg = false;
                                }
                                i++;
                            }
                            _magRokeren = true;
                        }
                        else if (vakjeKoning.Buren[1].Buren[1].Buren[1].Buren[1].Buren[1] == vakjeToren)
                        {
                            rokeerwest         = false;
                            aantalplaatsenoost = 5;
                            while (i < aantalplaatsenoost - 1)
                            {
                                if (_vorigVakje.schaakstuk == null || _vorigVakje.schaakstuk is Toren)
                                {
                                    _vorigVakje = _vorigVakje.Buren[1];
                                    if (koningnieuw_O.schaakstuk == null || koningnieuw_O.schaakstuk is Koning || koningnieuw_O == vakjeToren)
                                    {
                                        if (torennieuw_O.schaakstuk == null || torennieuw_O.schaakstuk is Koning || torennieuw_O == vakjeToren)
                                        {
                                            vakjesleeg = true;
                                        }
                                        else
                                        {
                                            vakjesleeg = false;
                                        }
                                    }
                                    else
                                    {
                                        vakjesleeg = false;
                                    }
                                }
                                else
                                {
                                    vakjesleeg = false;
                                }
                                i++;
                            }
                            _magRokeren = true;
                        }
                        else if (vakjeKoning.Buren[1].Buren[1].Buren[1].Buren[1].Buren[1].Buren[1] == vakjeToren)
                        {
                            rokeerwest         = false;
                            aantalplaatsenoost = 6;
                            while (i < aantalplaatsenoost - 1)
                            {
                                if (_vorigVakje.schaakstuk == null || _vorigVakje.schaakstuk is Toren)
                                {
                                    _vorigVakje = _vorigVakje.Buren[1];
                                    if (koningnieuw_O.schaakstuk == null || koningnieuw_O.schaakstuk is Koning || koningnieuw_O == vakjeToren)
                                    {
                                        if (torennieuw_O.schaakstuk == null || torennieuw_O.schaakstuk is Koning || torennieuw_O == vakjeToren)
                                        {
                                            vakjesleeg = true;
                                        }
                                        else
                                        {
                                            vakjesleeg = false;
                                        }
                                    }
                                    else
                                    {
                                        vakjesleeg = false;
                                    }
                                }
                                else
                                {
                                    vakjesleeg = false;
                                }
                                i++;
                            }
                            _magRokeren = true;
                        }
                        else if (vakjeKoning.Buren[1].Buren[1].Buren[1].Buren[1].Buren[1].Buren[1].Buren[1] == vakjeToren)
                        {
                            rokeerwest         = false;
                            aantalplaatsenoost = 7;
                            while (i < aantalplaatsenoost - 1)
                            {
                                if (_vorigVakje.schaakstuk == null || _vorigVakje.schaakstuk is Toren)
                                {
                                    _vorigVakje = _vorigVakje.Buren[1];
                                    if (koningnieuw_O.schaakstuk == null || koningnieuw_O.schaakstuk is Koning || koningnieuw_O == vakjeToren)
                                    {
                                        if (torennieuw_O.schaakstuk == null || torennieuw_O.schaakstuk is Koning || torennieuw_O == vakjeToren)
                                        {
                                            vakjesleeg = true;
                                        }
                                        else
                                        {
                                            vakjesleeg = false;
                                        }
                                    }
                                    else
                                    {
                                        vakjesleeg = false;
                                    }
                                }
                                else
                                {
                                    vakjesleeg = false;
                                }
                                i++;
                            }
                            _magRokeren = true;
                        }
                    }


                    if (_magRokeren == true)
                    {
                        if (vakjesleeg == true)
                        {
                            Rokerenmelding _Rokerenmelding = new Rokerenmelding(this);
                            _Rokerenmelding.ShowDialog();
                        }
                    }

                    if (_wilRokeren == true && _magRokeren == true)
                    {
                        if (vakjesleeg == true)
                        {
                            // ROKEREN NAAR OOST KANT
                            if (rokeerwest == false)
                            {
                                Vakje      _torenOud  = vakjeToren;
                                Vakje      _koningOud = vakjeKoning;
                                Schaakstuk Tempkoning = vakjeKoning.schaakstuk;
                                _Randoost.Buren[3].Buren[3].schaakstuk = tempToren;
                                _Randoost.Buren[3].schaakstuk          = Tempkoning;
                                _Randoost.Buren[3].Pbox.update();
                                _Randoost.Buren[3].Pbox.update();
                                _koningOud.schaakstuk = null;
                                _torenOud.schaakstuk  = null;
                                vakjeToren.schaakstuk = null;
                                this.Vakje.Pbox.update();
                                vakjeToren.Pbox.update();
                                _torenOud.Pbox.update();
                                _Randoost.Buren[3].schaakstuk = Tempkoning;
                                _Randoost.Buren[3].Pbox.update();
                                _Randoost.Buren[3].Buren[3].schaakstuk = tempToren;
                                _Randoost.Buren[3].Buren[3].Pbox.update();
                                _eersteZet = true;
                            }
                            else // ROKEREN NAAR WEST KANT
                            {
                                Vakje      _torenOud  = vakjeToren;
                                Vakje      _koningOud = vakjeKoning;
                                Schaakstuk Tempkoning = vakjeKoning.schaakstuk;
                                _randWest.Buren[1].Buren[1].Buren[1].schaakstuk = tempToren;
                                _randWest.Buren[1].Buren[1].schaakstuk          = Tempkoning;
                                _randWest.Buren[1].Pbox.update();
                                _randWest.Buren[1].Buren[1].schaakstuk = null;
                                _randWest.Buren[1].Buren[1].Pbox.update();
                                _koningOud.schaakstuk = null;
                                _torenOud.schaakstuk  = null;
                                vakjeToren.schaakstuk = null;
                                this.Vakje.Pbox.update();
                                vakjeToren.Pbox.update();
                                _torenOud.Pbox.update();
                                _randWest.Buren[1].Buren[1].schaakstuk = Tempkoning;
                                _randWest.Buren[1].Buren[1].Pbox.update();
                                _randWest.Buren[1].Buren[1].Buren[1].schaakstuk = tempToren;
                                _randWest.Buren[1].Buren[1].Buren[1].Pbox.update();
                                _eersteZet = true;
                            }
                        }

                        speler.ValideZet = true;
                        _eersteZet       = true;
                    }
                }
            }
        }