コード例 #1
0
        public void ruchAi(ref Szachownica gameBoard) //Metoda odpowiadająca za ruch komputera
        {
            Random rnd = new Random();
            int    r   = rnd.Next(biciaMaxymalne.Count);

            gameBoard.wykonajRuch(biciaMaxymalne[r]);
        }
コード例 #2
0
 public void wykonajRuch(Pole skad, Pole dokad, ref Szachownica gameBoard) //Metoda przekazujący odpowiedni ruch z listy do metody w obiekcie Szachownica
 {
     foreach (var a in biciaMaxymalne)
     {
         if (a.skad == skad && a.dokad == dokad)
         {
             gameBoard.wykonajRuch(a);
         }
     }
 }
コード例 #3
0
 public void rysowaniePlanszy() //metoda odrysowująca szachownice
 {
     gameBoard = model.dostanPlansze();
     for (char x = 'A'; x <= 'H'; x++)
     {
         for (int y = 1; y <= 8; y++)
         {
             view.RysujPole((Convert.ToInt32(x) - 65), (y - 1), gameBoard[x, y].jakiKolorMaPole);
             if (gameBoard.czyJestPionek(gameBoard[x, y]))
             {
                 view.RysujPionek((Convert.ToInt32(x) - 65), (y - 1), gameBoard.zdobaczPionkaZPola(gameBoard[x, y]).kolorPionka);
             }
             else if (gameBoard.czyJestDamka(gameBoard[x, y]))
             {
                 view.rysujDamke((Convert.ToInt32(x) - 65), (y - 1), gameBoard.zdobaczPionkaZPola(gameBoard[x, y]).kolorPionka);
             }
         }
     }
 }
コード例 #4
0
        }                                               //właściwość która zwraca nam informacje czy dany obiekt reprezentuje człowieka czy komputer
        public void MozliweBicia(Szachownica gameBoard) // Duża metoda która ma za zadanie zebranie WSZYSTKICH możliwych ruchów oraz bić dla danego gracza oraz zostawienie tylko tych które mają największą "siłę" bić.
        {
            int max = 0;

            for (char i = 'A'; i <= 'H'; i++)
            {
                for (int j = 1; j <= 8; j++)
                {
                    if (gameBoard.czyJestPionekTegoPana(this, gameBoard[i, j]))
                    {
                        if (gameBoard.zdobaczPionkaZPola(gameBoard[i, j]).czyDamka)
                        {
                            gameBoard.bicieDamka(this, gameBoard[i, j], gameBoard[i, j], new List <Pionek>(), ref biciaMaxymalne);
                        }
                        else
                        {
                            gameBoard.sprawdzanieBiciaPionek(this, gameBoard[i, j], gameBoard[i, j], new List <Pionek>(), ref biciaMaxymalne);
                        }
                        for (int z = 0; z <= 2; z++)
                        {
                            foreach (var a in biciaMaxymalne.ToList())
                            {
                                if (a.silaBicia > max)
                                {
                                    max = a.silaBicia;
                                }
                                else if (a.silaBicia < max)
                                {
                                    biciaMaxymalne.Remove(a);
                                }
                            }
                        }
                    }
                }
            }
            if (max == 0)
            {
                for (char i = 'A'; i <= 'H'; i++)
                {
                    for (int j = 1; j <= 8; j++)
                    {
                        if (gameBoard.czyJestPionekTegoPana(this, gameBoard[i, j]))
                        {
                            if (!gameBoard.zdobaczPionkaZPola(gameBoard[i, j]).czyDamka)
                            {
                                foreach (var a in gameBoard.sprawdzanieRuchow(this, gameBoard[i, j]))
                                {
                                    biciaMaxymalne.Add(a);
                                }
                            }
                            else
                            {
                                foreach (var a in gameBoard.ruchDamka(this, gameBoard[i, j]))
                                {
                                    biciaMaxymalne.Add(a);
                                }
                            }
                        }
                    }
                }
            }
        }