Exemple #1
0
 private static bool isValidDiagonalCoordinate(int position)
 {
     if (!GeneralEngine.IsValidCoordinate(position))
     {
         return(false);
     }
     if (position % 8 == 0 || position % 8 == 7)
     {
         return(false);
     }
     if (position < 7 || position > 56)
     {
         return(false);
     }
     return(true);
 }
Exemple #2
0
        public static MoveViability DetermineMoveViability(GameState gameState, Piece attacker, int position)
        {
            if (!GeneralEngine.IsValidCoordinate(position))
            {
                return(new MoveViability(false, false, null));
            }
            var square = gameState.Squares.GetSquare(position);

            if (!square.Occupied)
            {
                return(new MoveViability(true, false, square));
            }
            var blockingPiece = square.Piece;
            var isTeamPiece   = GeneralEngine.IsTeamPiece(attacker.Color, blockingPiece);

            if (!isTeamPiece)
            {
                return(new MoveViability(true, true, square));
            }
            return(new MoveViability(true, false, square));
        }