|
Cute Chess
0.1
|
A board for Suicide Chess, a Losing Chess variant. More...
#include <suicideboard.h>
Public Member Functions | |
| virtual Board * | copy () const |
| SuicideBoard () | |
| virtual QString | variant () const |
Public Member Functions inherited from Chess::AntiBoard | |
| AntiBoard () | |
| virtual QString | defaultFenString () const |
| virtual Result | result () |
Public Member Functions inherited from Chess::StandardBoard | |
| StandardBoard () | |
| virtual Result | tablebaseResult (unsigned int *dtm=nullptr) const |
Public Member Functions inherited from Chess::WesternBoard | |
| virtual int | height () const |
| virtual int | reversibleMoveCount () const |
| WesternBoard (WesternZobrist *zobrist) | |
| virtual int | width () const |
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 |
| void | undoMove () |
| virtual Side | upperCaseSide () const |
| virtual bool | variantHasDrops () const |
| virtual bool | variantHasOptionalPromotions () const |
| virtual bool | variantHasWallSquares () const |
| virtual | ~Board () |
Protected Member Functions | |
| virtual Result | vResultOfStalemate () const |
Protected Member Functions inherited from Chess::AntiBoard | |
| virtual void | addPromotions (int sourceSquare, int targetSquare, QVarLengthArray< Move > &moves) const |
| virtual bool | hasCastling () const |
| virtual bool | inCheck (Side side, int square=0) const |
| virtual bool | kingsCountAssertion (int whiteKings, int blackKings) const |
| virtual bool | vIsLegalMove (const Move &move) |
| virtual bool | vSetFenString (const QStringList &fen) |
Protected Member Functions inherited from Chess::WesternBoard | |
| virtual int | captureType (const Move &move) const |
| virtual int | castlingFile (CastlingSide castlingSide) const |
| int | enpassantSquare () const |
| virtual void | generateMovesForPiece (QVarLengthArray< Move > &moves, int pieceType, int square) const |
| bool | hasCastlingRight (Side side, CastlingSide castlingSide) const |
| virtual bool | hasEnPassantCaptures () const |
| virtual bool | isLegalPosition () |
| virtual bool | kingCanCapture () 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 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) |
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::WesternBoard | |
| enum | CastlingSide { QueenSide, KingSide, NoCastlingSide } |
| enum | StepType { NoStep = 0, FreeStep = 1, CaptureStep = 2 } |
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 Suicide Chess, a Losing Chess variant.
Suicide Chess is a variant of Losing Chess (FICS Suicide).
The king has no royal powers, so there is no check and the king can be captured. Pawns can also promote to king. Castling is not allowed. If a side can capture then they must make a capture move.
The side that has lost all pieces wins. If a side cannot move (stalemate) then the side with less pieces wins and else the game is drawn.
SuicideBoard uses Polyglot-compatible zobrist position keys, so adequate opening books in Polyglot format can be used.
| Chess::SuicideBoard::SuicideBoard | ( | ) |
Creates a new SuicideBoard object.
|
virtual |
Creates and returns a deep copy of this board.
Reimplemented from Chess::AntiBoard.
|
virtual |
Returns the name of the chess variant.
Reimplemented from Chess::AntiBoard.
|
protectedvirtual |
Rules stalemate outcome.
Reimplemented from Chess::AntiBoard.
1.8.11