2022-spring-final-ntran27-ykanash1-kelsman1 / Knight.h
Knight.h
Raw
#ifndef KNIGHT_H
#define KNIGHT_H

#include "Piece.h"

namespace Chess
{
	class Knight : public Piece {

	public:

	int point_value() const override { return 3; }

    bool legal_move_shape(const Position& start, const Position& end) const override;

		/////////////////////////////////////
		// DO NOT MODIFY THIS FUNCTION!!!! //
		/////////////////////////////////////
		char to_ascii() const override { return is_white() ? 'N' : 'n';	}
    
    /////////////////////////////////////
		// DO NOT MODIFY THIS FUNCTION!!!! //
		/////////////////////////////////////
		std::string to_unicode() const override { return is_white() ? "\u2658" : "\u265E"; }

	private:
		/////////////////////////////////////
		// DO NOT MODIFY THIS FUNCTION!!!! //
		/////////////////////////////////////
		Knight(bool is_white) : Piece(is_white) {}

		friend Piece* create_piece(const char& piece_designator);
	};
}

#endif // KNIGHT_H