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); }
} //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); } } } } } } }