19 #ifndef SEIRAWANBOARD_H 20 #define SEIRAWANBOARD_H 22 #include "westernboard.h" 53 virtual Board* copy()
const;
54 virtual QString variant()
const;
55 virtual QString defaultFenString()
const;
66 virtual bool variantHasDrops()
const;
67 virtual bool variantHasChanneling(
Side side,
int square)
const;
68 virtual bool variantHasOptionalPromotions()
const;
70 virtual void addPromotions(
int sourceSquare,
74 virtual bool parseCastlingRights(
QChar c);
80 virtual void vMakeMove(
const Move& move,
82 virtual void vUndoMove(
const Move& move);
88 void insertIntoSquareMap(
int square,
int count = 0);
89 void updateSquareMap(
const Move& move,
int increment);
90 enum direction { forward, backward };
96 static int rookSquareChanneling(
int promotion, direction d);
100 #endif // SEIRAWANBOARD_H
FenNotation
Definition: board.h:93
An internal chessboard class.
Definition: board.h:57
A board for western chess variants.
Definition: westernboard.h:40
A board for S-Chess (a.k.a. Seirawan Chess)
Definition: seirawanboard.h:46
Definition: boardscene.h:29
The side or color of a chess player.
Definition: side.h:35
Details of a board transition caused by a move.
Definition: boardtransition.h:40
A small and efficient chessmove class.
Definition: move.h:42
SeirawanPieceType
Definition: seirawanboard.h:59