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;
69 virtual void addPromotions(
int sourceSquare,
73 virtual bool parseCastlingRights(
QChar c);
74 virtual QString vFenString(FenNotation notation)
const;
79 virtual void vMakeMove(
const Move& move,
81 virtual void vUndoMove(
const Move& move);
87 void insertIntoSquareMap(
int square,
int count = 0);
88 void updateSquareMap(
const Move& move,
int increment);
89 enum direction { forward, backward };
95 static int rookSquareChanneling(
int promotion, direction d);
99 #endif // SEIRAWANBOARD_H
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