+++ /dev/null
-/**
- * Contains declaration for MovementResult class
- */
-#ifndef MOVERESULT_H
-#define MOVERESULT_H
-
-class Board;
-class Piece;
-
-/**
- * Class used to indicate the result of a move in stratego
- */
-class MovementResult
-{
- public:
- typedef enum {OK, DIES, KILLS, BOTH_DIE, NO_BOARD, INVALID_POSITION, NO_SELECTION, NOT_YOUR_UNIT, IMMOBILE_UNIT, INVALID_DIRECTION, POSITION_FULL, VICTORY, BAD_RESPONSE, NO_MOVE} Type;
-
- MovementResult(const Type & result = OK, const Piece::Type & newAttackerRank = Piece::NOTHING, const Piece::Type & newDefenderRank = Piece::NOTHING)
- : type(result), attackerRank(newAttackerRank), defenderRank(newDefenderRank) {}
- MovementResult(const MovementResult & cpy) : type(cpy.type), attackerRank(cpy.attackerRank), defenderRank(cpy.defenderRank) {}
- virtual ~MovementResult() {}
-
-
- bool operator==(const Type & equType) const {return type == equType;}
- bool operator!=(const Type & equType) const {return type != equType;}
-
- Type type;
- Piece::Type attackerRank;
- Piece::Type defenderRank;
-};
-
-#endif //MOVERESULT_H
-
-//EOF