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);
Details of a board transition caused by a move.
Definition: boardtransition.h:41
An internal chessboard class.
Definition: board.h:58
A small and efficient chessmove class.
Definition: move.h:43
A board for S-Chess (a.k.a. Seirawan Chess)
Definition: seirawanboard.h:48
SeirawanPieceType
Definition: seirawanboard.h:61
The side or color of a chess player.
Definition: side.h:36
A board for western chess variants.
Definition: westernboard.h:41