Package: ply 0.1.0

ply: Bitboard Chess Engine

A fully legal chess move generator and game engine implemented in C++17 via 'Rcpp'. Provides FEN (Forsyth-Edwards Notation) parsing, PGN (Portable Game Notation) replay, position feature enrichment, and a multi-game registry backed by a bitboard representation.

Authors:Qusai Jouda [aut, cre]

ply_0.1.0.tar.gz
ply_0.1.0.zip(r-4.7)ply_0.1.0.zip(r-4.6)ply_0.1.0.zip(r-4.5)
ply_0.1.0.tgz(r-4.6-x86_64)ply_0.1.0.tgz(r-4.6-arm64)ply_0.1.0.tgz(r-4.5-x86_64)ply_0.1.0.tgz(r-4.5-arm64)
ply_0.1.0.tar.gz(r-4.7-arm64)ply_0.1.0.tar.gz(r-4.7-x86_64)ply_0.1.0.tar.gz(r-4.6-arm64)ply_0.1.0.tar.gz(r-4.6-x86_64)
ply_0.1.0.tgz(r-4.6-emscripten)
manual.pdf |manual.html
card.svg |card.png
ply/json (API)

# Install 'ply' in R:
install.packages('ply', repos = c('https://qjouda.r-universe.dev', 'https://cloud.r-project.org'))
Uses libs:
  • c++– GNU Standard C++ Library v3

On CRAN:

Conda:

This package does not link to any Github/Gitlab/R-forge repository. No issue tracker or development information is available.

cpp

1.70 score 3 scripts 503 downloads 28 exports 1 dependencies

Last updated from:4752ceeef7. Checks:13 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-arm64OK139
linux-devel-x86_64OK102
source / vignettesOK161
linux-release-arm64OK134
linux-release-x86_64OK115
macos-release-arm64OK132
macos-release-x86_64OK317
macos-oldrel-arm64OK168
macos-oldrel-x86_64OK627
windows-develOK119
windows-releaseOK199
windows-oldrelOK210
wasm-releaseOK105

Exports:ply_enrich_batchply_fen_parseply_fen_serializeply_game_accept_drawply_game_cancelply_game_countply_game_fenply_game_historyply_game_infoply_game_initply_game_joinply_game_moveply_game_newply_game_new_from_fenply_game_offer_drawply_game_reset_registryply_game_resignply_hashply_in_checkply_is_checkmateply_is_insufficient_materialply_is_stalemateply_legal_movesply_move_applyply_pgn_extract_movetextply_pgn_load_gamesply_pgn_parse_tagsply_validate

Dependencies:Rcpp

Readme and manuals

Help Manual

Help pageTopics
Enrich a batch of positions with chess featuresply_enrich_batch
Parse a FEN string into a ChessState listply_fen_parse
Convert a ChessState list back to a FEN stringply_fen_serialize
Accept an outstanding draw offer in a managed gameply_game_accept_draw
Cancel a waiting managed gameply_game_cancel
Return the number of games currently held in the registryply_game_count
Get the current FEN for a managed gameply_game_fen
Get the full ply history of a managed game as UCI stringsply_game_history
Get metadata for a managed gameply_game_info
Return a ChessState list at the standard starting positionply_game_init
Join an existing game as the opposing playerply_game_join
Make a move in a managed game by UCI stringply_game_move
Create a new managed gameply_game_new
Create a new managed game from a custom starting positionply_game_new_from_fen
Offer or toggle a draw in a managed gameply_game_offer_draw
Reset (clear) the global game registryply_game_reset_registry
Resign a managed gameply_game_resign
Compute a Zobrist-style position hashply_hash
Test whether a side is in checkply_in_check
Test whether the position is checkmateply_is_checkmate
Test whether the position is a draw by insufficient materialply_is_insufficient_material
Test whether the position is stalemateply_is_stalemate
List all legal moves from a position as UCI stringsply_legal_moves
Apply a UCI move string to a positionply_move_apply
Extract clean SAN movetext tokens from a PGN game blockply_pgn_extract_movetext
Load a PGN file and return a data.frame of game-level metadataply_pgn_load_games
Parse PGN tag pairs from a raw game blockply_pgn_parse_tags
Validate a position (piece counts, king count, etc.)ply_validate