|
Cute Chess
0.1
|
A board for Dōbutsu shōgi (どうぶつしょうぎ, Animal Chess) More...
#include <dobutsushogiboard.h>
Public Member Functions | |
| virtual Board * | copy () const |
| virtual QString | defaultFenString () const |
| DobutsuShogiBoard () | |
| virtual int | height () const |
| virtual Result | result () |
| virtual QString | variant () const |
| virtual int | width () const |
Public Member Functions inherited from Chess::ShogiBoard | |
| virtual CoordinateSystem | coordinateSystem () const |
| virtual QList< Piece > | reservePieceTypes () const |
| ShogiBoard () | |
| virtual bool | variantHasDrops () const |
| virtual bool | variantHasOptionalPromotions () const |
Public Member Functions inherited from Chess::Board | |
| Board (Zobrist *zobrist) | |
| 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 |
| void | reset () |
| virtual int | reversibleMoveCount () const |
| 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 | variantHasWallSquares () const |
| virtual | ~Board () |
Protected Member Functions | |
| virtual bool | isLegalPosition () |
| virtual int | promotedPieceType (int type) const |
Protected Member Functions inherited from Chess::ShogiBoard | |
| virtual void | generateMovesForPiece (QVarLengthArray< Move > &moves, int pieceType, int square) const |
| virtual bool | hasImpassePointRule () const |
| virtual Result | impassePointRule (int points, int pieces) const |
| virtual bool | inCheck (Side side, int square=0) const |
| virtual QString | lanMoveString (const Move &move) |
| virtual Move | moveFromLanString (const QString &str) |
| virtual Move | moveFromSanString (const QString &str) |
| virtual int | normalPieceType (int type) const |
| virtual int | promotionRank () const |
| virtual bool | ranksAreAllowed () const |
| virtual int | reserveType (int pieceType) const |
| virtual QString | sanMoveString (const Move &move) |
| virtual QString | vFenString (FenNotation notation) const |
| virtual void | vInitialize () |
| virtual bool | vIsLegalMove (const Move &move) |
| 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 () |
| virtual int | captureType (const Move &move) const |
| 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) |
| 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::Board | |
| enum | CoordinateSystem { NormalCoordinates, InvertedCoordinates } |
| enum | FenNotation { XFen, ShredderFen } |
| enum | MoveNotation { StandardAlgebraic, LongAlgebraic } |
Protected Types inherited from Chess::ShogiBoard | |
| enum | ShogiPieceType { Pawn = 1, Lance, Knight, SilverGeneral, GoldGeneral, Bishop, Rook, King, PromotedPawn, PromotedLance, PromotedKnight, PromotedSilver, PromotedBishop, PromotedRook } |
Static Protected Attributes inherited from Chess::ShogiBoard | |
| static const unsigned | BishopMovement = 4 |
| static const unsigned | FerzMovement = 16 |
| static const unsigned | GoldMovement = 512 |
| static const unsigned | KnightMovement = 2 |
| static const unsigned | LanceMovement = 128 |
| static const unsigned | RookMovement = 8 |
| static const unsigned | SilverMovement = 256 |
| static const unsigned | WazirMovement = 64 |
A board for Dōbutsu shōgi (どうぶつしょうぎ, Animal Chess)
Dōbutsu shōgi is a simplified variant of shōgi for young children which is played on a board with 3 files and 4 ranks. Many shōgi rules apply in this variant. The pieces move like in standard shōgi but moves are limited to the range of one square. There are captures by displacement but no concepts of check nor mate. Captured pieces switch sides and can be dropped onto empty squares.
Either side begins with one Lion (King) in the center of their base rank, one Giraffe (Rook) to its right, one Elephant (Bishop) to its left, and one Chick (Pawn) in front if it.
The Chick promotes to a Hen (Tokin) after moving forward to highest rank. The Hen moves like a Gold General in shōgi. A captured Hen can only be dropped as a Chick but without further restrictions.
The game is drawn if the players play the same position three turns in a row. Perpetual checks are allowed.
Capturing the opponent's Lion wins. The Lion reaching the opponent's base rank wins if the Lion cannot be captured immediately.
Dōbutsu shōgi was introduced in 2009 by Madoka Kitao, Japan
| Chess::DobutsuShogiBoard::DobutsuShogiBoard | ( | ) |
Creates a new DobutsuShogiBoard object.
|
virtual |
Creates and returns a deep copy of this board.
Reimplemented from Chess::ShogiBoard.
|
virtual |
Returns the variant's default starting FEN string.
Reimplemented from Chess::ShogiBoard.
|
virtual |
Returns the height of the board in squares.
Reimplemented from Chess::ShogiBoard.
|
protectedvirtual |
Returns true if the current position is a legal position. If the position isn't legal it usually means that the last move was illegal.
Reimplemented from Chess::ShogiBoard.
|
protectedvirtual |
Returns promoted piece type corresponding to normal type.
Reimplemented from Chess::ShogiBoard.
|
virtual |
Returns the result of the game, or Result::NoResult if the game is in progress.
Reimplemented from Chess::ShogiBoard.
|
virtual |
Returns the name of the chess variant.
Reimplemented from Chess::ShogiBoard.
|
virtual |
Returns the width of the board in squares.
Reimplemented from Chess::ShogiBoard.
1.8.14