Add a move-generator API.
[tagua/yd.git] / src / core / defaulttype.h
blobf93c2c8d16c5651f25f5b3e5c83ae41842dffba7
1 #ifndef CORE__DEFAULT_TYPE_H
2 #define CORE__DEFAULT_TYPE_H
4 #include "type.h"
6 #include <vector>
8 class IState;
9 class Move;
10 class Piece;
12 typedef struct {
13 unsigned x, y;
14 int distance;
15 } MoveDefinition;
17 class TAGUA_EXPORT DefaultType: public IType {
18 public:
19 virtual const std::vector<MoveDefinition> * const movesDefinitions() const = 0;
20 virtual bool canMove(const Piece& piece, const Piece& target,
21 Move& move, const IState* state) const;
24 #endif // CORE__DEFAULT_TYPE_H