|
Cute Chess
0.1
|
A board for Grand Chess. More...
#include <grandboard.h>
Public Member Functions | |
| virtual Board * | copy () const |
| virtual QString | defaultFenString () const |
| virtual void | generateMovesForPiece (QVarLengthArray< Move > &moves, int pieceType, int square) const |
| GrandBoard () | |
| virtual bool | hasCastling () const |
| virtual int | height () const |
| virtual QString | variant () const |
| virtual bool | variantHasOptionalPromotions () const |
| virtual bool | vIsLegalMove (const Move &move) |
Public Member Functions inherited from Chess::CapablancaBoard | |
| CapablancaBoard () | |
| virtual int | width () const |
Public Member Functions inherited from Chess::WesternBoard | |
| virtual Result | result () |
| virtual int | reversibleMoveCount () const |
| WesternBoard (WesternZobrist *zobrist) | |
Public Member Functions inherited from Chess::Board | |
| Board (Zobrist *zobrist) | |
| virtual CoordinateSystem | coordinateSystem () const |
| QString | fenString (FenNotation notation=XFen) const |
| GenericMove | genericMove (const Move &move) const |
| void | initialize () |
| bool | isLegalMove (const Move &move) |
| virtual bool | isRandomVariant () const |
| bool | isRepetition (const Move &move) |
| bool | isValidSquare (const Square &square) const |
| quint64 | key () const |
| QVector< Move > | legalMoves () |
| void | makeMove (const Move &move, BoardTransition *transition=nullptr) |
| Move | moveFromGenericMove (const GenericMove &move) const |
| Move | moveFromString (const QString &str) |
| QString | moveString (const Move &move, MoveNotation notation) |
| Piece | pieceAt (const Square &square) const |
| Piece | pieceFromSymbol (const QString &pieceSymbol) const |
| QStringList | pieceList (Side side) const |
| QString | pieceString (int pieceType) const |
| QString | pieceSymbol (Piece piece) const |
| int | plyCount () const |
| int | repeatCount () const |
| QString | representation (Piece piece) const |
| int | reserveCount (Piece piece) const |
| virtual QList< Piece > | reservePieceTypes () const |
| void | reset () |
| bool | setFenString (const QString &fen) |
| Side | sideToMove () const |
| QString | startingFenString () const |
| Side | startingSide () const |
| virtual Result | tablebaseResult (unsigned int *dtm=nullptr) const |
| void | undoMove () |
| virtual Side | upperCaseSide () const |
| virtual bool | variantHasDrops () const |
| virtual bool | variantHasWallSquares () const |
| virtual | ~Board () |
Additional Inherited Members | |
Public Types inherited from Chess::WesternBoard | |
| enum | WesternPieceType { Pawn = 1, Knight, Bishop, Rook, Queen, King } |
Public Types inherited from Chess::Board | |
| enum | CoordinateSystem { NormalCoordinates, InvertedCoordinates } |
| enum | FenNotation { XFen, ShredderFen } |
| enum | MoveNotation { StandardAlgebraic, LongAlgebraic } |
Protected Types inherited from Chess::CapablancaBoard | |
| enum | CapablancaPieceType { Archbishop = 7, Chancellor } |
Protected Types inherited from Chess::WesternBoard | |
| enum | CastlingSide { QueenSide, KingSide, NoCastlingSide } |
| enum | StepType { NoStep = 0, FreeStep = 1, CaptureStep = 2 } |
Protected Member Functions inherited from Chess::CapablancaBoard | |
| virtual void | addPromotions (int sourceSquare, int targetSquare, QVarLengthArray< Move > &moves) const |
Protected Member Functions inherited from Chess::WesternBoard | |
| virtual int | captureType (const Move &move) const |
| virtual int | castlingFile (CastlingSide castlingSide) const |
| int | enpassantSquare () const |
| bool | hasCastlingRight (Side side, CastlingSide castlingSide) const |
| virtual bool | hasEnPassantCaptures () const |
| virtual bool | inCheck (Side side, int square=0) const |
| virtual bool | isLegalPosition () |
| virtual bool | kingCanCapture () const |
| virtual bool | kingsCountAssertion (int whiteKings, int blackKings) const |
| int | kingSquare (Side side) const |
| virtual QString | lanMoveString (const Move &move) |
| virtual Move | moveFromLanString (const QString &str) |
| virtual Move | moveFromSanString (const QString &str) |
| virtual bool | parseCastlingRights (QChar c) |
| int | pawnAmbiguity (StepType type=FreeStep) const |
| virtual bool | pawnHasDoubleStep () const |
| void | removeCastlingRights (int square) |
| void | removeCastlingRights (Side side) |
| virtual QString | sanMoveString (const Move &move) |
| virtual bool | variantHasChanneling (Side side, int square) const |
| virtual QString | vFenIncludeString (FenNotation notation) const |
| virtual QString | vFenString (FenNotation notation) const |
| virtual void | vInitialize () |
| virtual void | vMakeMove (const Move &move, BoardTransition *transition) |
| virtual bool | vSetFenString (const QStringList &fen) |
| virtual void | vUndoMove (const Move &move) |
Protected Member Functions inherited from Chess::Board | |
| void | addToReserve (const Piece &piece, int count=1) |
| int | arraySize () const |
| bool | canMove () |
| Square | chessSquare (int index) const |
| Square | chessSquare (const QString &str) const |
| void | generateDropMoves (QVarLengthArray< Move > &moves, int pieceType) const |
| void | generateHoppingMoves (int sourceSquare, const QVarLengthArray< int > &offsets, QVarLengthArray< Move > &moves) const |
| void | generateMoves (QVarLengthArray< Move > &moves, int pieceType=Piece::NoPiece) const |
| void | generateSlidingMoves (int sourceSquare, const QVarLengthArray< int > &offsets, QVarLengthArray< Move > &moves) const |
| const Move & | lastMove () const |
| virtual int | maxPieceSymbolLength () const |
| bool | moveExists (const Move &move) const |
| Piece | pieceAt (int square) const |
| bool | pieceHasMovement (int pieceType, unsigned movement) const |
| void | removeFromReserve (const Piece &piece) |
| virtual int | reserveType (int pieceType) const |
| void | setPieceType (int type, const QString &name, const QString &symbol, unsigned movement=0, const QString &gsymbol=QString()) |
| void | setSquare (int square, Piece piece) |
| int | squareIndex (const Square &square) const |
| int | squareIndex (const QString &str) const |
| QString | squareString (int index) const |
| QString | squareString (const Square &square) const |
| void | xorKey (quint64 key) |
Protected Attributes inherited from Chess::WesternBoard | |
| QVarLengthArray< PawnStep, 8 > | m_pawnSteps |
Static Protected Attributes inherited from Chess::WesternBoard | |
| static const unsigned | BishopMovement = 4 |
| static const unsigned | KnightMovement = 2 |
| static const unsigned | RookMovement = 8 |
A board for Grand Chess.
Grand Chess is a variant of standard chess on a 10 x 10 board with Capablanca chess pieces. This game was introduced in 1984 by Christian Freeling, The Netherlands.
Each side has one Cardinal (Archbishop, Bishop+Knight) and one Marshal (Chancellor, Rook+Knight) in addition to the standard pieces. GrandBoard uses the Capablanca names Archbishop and Chancellor.
Initially each side has ten pawns on their third ranks. Most of the other pieces start on their second ranks. The rooks are placed at the corners. Castling is not allowed in Grand Chess.
Pawns can make an initial double step and can be captured en passant. When reaching their eigth or ninth ranks pawns can optionally be promoted. Pawns can only promote to an own captured piece. On the tenth rank a pawn must be promoted. If promotion is impossible, then the pawn cannot advance to the tenth rank. It can give check to a king on the end rank nevertheless.
| Chess::GrandBoard::GrandBoard | ( | ) |
Creates a new GrandBoard object.
|
virtual |
Creates and returns a deep copy of this board.
Reimplemented from Chess::CapablancaBoard.
|
virtual |
Returns the variant's default starting FEN string.
Reimplemented from Chess::CapablancaBoard.
|
virtual |
Generates pseudo-legal moves for a piece of pieceType at square square.
Reimplemented from Chess::WesternBoard.
|
virtual |
Returns true if castling is allowed. The default value is true.
Reimplemented from Chess::WesternBoard.
|
virtual |
Returns the height of the board in squares.
Reimplemented from Chess::WesternBoard.
|
virtual |
Returns the name of the chess variant.
Reimplemented from Chess::CapablancaBoard.
|
virtual |
Returns true if the variant allows to skip a promotion (or a move treated as promotion) and make a normal move instead. The default value is false, i.e. mandatory promotions.
Reimplemented from Chess::Board.
|
virtual |
Returns true if move is a legal move.
This function is called by isLegalMove() after making sure that there is a pseudo-legal move same as move. This function shouldn't check for the existence of move by generating moves.
The default implementation only checks if the position after move is legal.
Reimplemented from Chess::WesternBoard.
1.8.11