Exemple #1
0
 // Methods to generate strength array from all pieces on the board
 public static float[,] InitStrength(Dictionary <Square, AiChessPiece> board)
 {
     float[,] strength = new float[8, 8];
     foreach (AiChessPiece piece in board.Values)
     {
         AiMovementUtil.GetPossibleMoves(board, piece, true, strength);
     }
     return(strength);
 }
Exemple #2
0
        // Get all possible moves for a piece on the board
        private static List <ChessMove> GetMovesForPiece(Dictionary <Square, AiChessPiece> board, float[,] strength, AiChessPiece piece)
        {
            List <Square>    possibleSquares = AiMovementUtil.GetPossibleMoves(board, piece, false, null);
            List <ChessMove> possibleMoves   = new List <ChessMove>();

            foreach (Square s in possibleSquares)
            {
                if (piece.Position.Equals(s))
                {
                    continue;
                }
                ChessMove move = new ChessMove(board, piece.Position, s,
                                               EvaluateMove.Instance.EvaluateChessMove(board, strength, piece.Position, s, piece.Owner.Name));
                move.AttackOnly = s.AttackOnly;
                possibleMoves.Add(move);
            }
            return(possibleMoves);
        }