public DelaunayTriangulationManager(ICoordinateValidator cv, ITriangulation triangulator)
 {
     _triangulator = triangulator;
     this.x        = cv.getX();
     this.y        = cv.getY();
     this.z_as_fxy = cv.get_Z_as_fxy();
 }
Esempio n. 2
0
        /// <summary>
        /// Create a piece based on its type, colour.
        /// Inject coordinate validator to the piece object as a property.
        /// </summary>
        /// <param name="pieceType"></param>
        /// <param name="pieceColor"></param>
        /// <param name="coordinateValidator"></param>
        /// <returns>Piece object.</returns>
        public IPiece Create(PieceType pieceType, PieceColor pieceColor, ICoordinateValidator coordinateValidator)
        {
            switch (pieceType)
            {
            case PieceType.Pawn:
                return(new Pawn(pieceColor)
                {
                    CoordinateValidator = coordinateValidator
                });

            case PieceType.Queen:
            case PieceType.King:
            case PieceType.Bishop:
            case PieceType.Knight:
            case PieceType.Rook:
                throw new NotImplementedException(string.Format("{0} piece has not been implemented", pieceType));

            default:
                throw new InvalidPieceType(string.Format("{0} is not a valid piece type", pieceType));
            }
        }
Esempio n. 3
0
 public Plateau(ICoordinateValidator validator)
 {
     _validator = validator;
 }
Esempio n. 4
0
 public Rover(IPlateau plateau, ICoordinateValidator coordinateValidator)
 {
     this._plateau   = plateau;
     this._validator = coordinateValidator;
 }
Esempio n. 5
0
 public CoordinateParser(ICoordinateValidator coordinateValidator)
 {
     _coordinateValidator = coordinateValidator;
 }