예제 #1
0
        void MogelijkePaardenSprongen(int[,] schaakbord, Positie positie)
        {
            // Maak alle mogelijke sprongen aan voor X en Y
            int[] MogelijkePositiesX = { 2, 1, -1, -2, -2, -1, 1, 2 };

            int[] MogelijkePositiesY = { 1, 2, 2, 1, -1, -2, -2, -1 };


            for (int i = 0; i < schaakbord.GetLength(0); i++)
            {
                // maak de toekomstige positie aan
                int r = positie.rij + MogelijkePositiesY[i];
                int k = positie.kolom + MogelijkePositiesX[i];

                // check of die positie kan vanaf de start positie, zo ja, dan wordt die plek een geel sterretje (waarde 2)
                // de x en y posities moeten groter zijn dan nul, anders stop je zo een negatief getal als positie in het bord
                if (r >= 0 && k >= 0 &&
                    // de x en y mogen niet buiten het bord zijn
                    r < schaakbord.GetLength(1) && k < schaakbord.GetLength(0) &&
                    // en de positie moet niet bezet zijn
                    schaakbord[r, k] == 0)
                {
                    // zet de waarde van die plek naar 2, want dan wordt hij bij het opzetten een geel sterretje
                    schaakbord[r, k] = 2;
                }
            }
        }
예제 #2
0
        Positie PlaatsPaard(int[,] schaakbord)
        {
            Positie paardPositie = new Positie();

            paardPositie.rij   = rnd.Next(0, schaakbord.GetLength(0));
            paardPositie.kolom = rnd.Next(0, schaakbord.GetLength(1));
            schaakbord[paardPositie.rij, paardPositie.kolom] = 1;

            return(paardPositie);
        }