11
template<class type> class QPtrStack;
18
void init(int board_size);
19
bool addBrother(Move *node);
20
bool addSon(Move *node);
22
int getNumSons(Move *m=0);
23
int getBranchLength(Move *node=0);
26
Move* nextVariation();
27
Move* previousVariation();
29
bool hasPrevBrother(Move *m=0);
30
bool hasNextBrother();
32
static void traverseClear(Move *m);
34
Move* getCurrent() const { return current; }
35
void setCurrent(Move *m) { current = m; }
36
void setToFirstMove();
37
Move* getRoot() const { return root; }
38
void setRoot(Move *m) { root = m; }
40
Move* findMoveInMainBranch(int x, int y) { return findMove(root, x, y, false); }
41
Move* findMoveInBranch(int x, int y) { return findMove(current, x, y, true); }
42
Move* findLastMoveInMainBranch(); //SL added eb 9
43
void traverseFind(Move *m, int x, int y, QPtrStack<Move> &result);
46
Move* findMove(Move *start, int x, int y, bool checkmarker);