19#ifndef SEIRAWANBOARD_H
20#define SEIRAWANBOARD_H
22#include "westernboard.h"
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);
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
SeirawanPieceType
Definition seirawanboard.h:60
@ Hawk
Hawk = Princess (knight + bishop).
Definition seirawanboard.h:61
@ Elephant
Elephant = Empress (knight + rook).
Definition seirawanboard.h:62
SeirawanBoard()
Definition seirawanboard.cpp:25
virtual QString variant() const
Definition seirawanboard.cpp:41
virtual Board * copy() const
Definition seirawanboard.cpp:36
virtual QString defaultFenString() const
Definition seirawanboard.cpp:46
The side or color of a chess player.
Definition side.h:36
WesternBoard(WesternZobrist *zobrist)
Definition westernboard.cpp:26
@ King
King.
Definition westernboard.h:51