19 #ifndef SEIRAWANBOARD_H 20 #define SEIRAWANBOARD_H 22 #include "westernboard.h" 54 virtual Board* copy()
const;
55 virtual QString variant()
const;
56 virtual QString defaultFenString()
const;
67 virtual bool variantHasDrops()
const;
68 virtual bool variantHasChanneling(
Side side,
int square)
const;
70 virtual bool vIsLegalMove(
const Chess::Move & move);
71 virtual void addPromotions(
int sourceSquare,
75 virtual bool parseCastlingRights(
QChar c);
76 virtual QString vFenString(FenNotation notation)
const;
81 virtual void vMakeMove(
const Move& move,
83 virtual void vUndoMove(
const Move& move);
89 void insertIntoSquareMap(
int square,
int count = 0);
90 void updateSquareMap(
const Move& move,
int increment);
91 enum direction { forward, backward };
97 static int rookSquareChanneling(
int promotion, direction d);
101 #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:47
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:60