コード例 #1
0
ファイル: Warcaby.cs プロジェクト: kgbzoma/Ziemniaki-Warcaby
 public bool czyMoznaZaznaczyc(Pole zaznaczonePole) //Metoda sprawdzająca czy dane pole można zaznaczyć.
 {
     if (gameBoard.czyJestPionekTegoPana(graczPrzyKolejce, zaznaczonePole))
     {
         if (zaznaczone == null)
         {
             if (graczPrzyKolejce.czyMoznaZaznaczycPionka(zaznaczonePole))
             {
                 zaznaczone = zaznaczonePole;
                 return(true);
             }
         }
     }
     return(false);
 }
コード例 #2
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);
                                }
                            }
                        }
                    }
                }
            }
        }