--- title: "Advanced usage" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{advanced} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>", eval = identical(Sys.getenv("CHESS_TEST", unset = "0"), "1") ) ``` `{chess}` has some tools for advanced users. Most of them can be discovered through [documentation](https://curso-r.github.io/chess/reference/index.html). Here are a few highlights: ```{r} library(chess) # Create a game with comments and NAGs anderssen_kieseritzky <- game() %>% move( "e4", "e5", "f4", "exf4", "Bc4", "Qh4", "Kf1", "b5", "Bxb5", "Nf6", "Nf3", "Qh6", "d3", "Nh5", "Nh4", "Qg5", "Nf5", "c6", "g4", "Nf6", "Rg1", "cxb5", "h4", "Qg6", "h5", "Qg5", "Qf3", "Ng8", "Bxf4", "Qf6", "Nc3", "Bc5", "Nd5", "Qxb2", "Bd6", "Bxg1? {It is from this move that Black's defeat stems.}", list("Qxa1 {Wilhelm Steinitz suggested in 1879...}", "Ke2", "Qb2", "Kd2", "Bxg1"), "e5", "Qxa1", "Ke2", "Na6", "Nxg7", "Kd8", "Qf6", "Nxf6", "Be7" ) # NAG anderssen_kieseritzky %>% root() %>% forward(36) %>% nag() # Comment anderssen_kieseritzky %>% root() %>% forward(36) %>% note() # Some useful functions fen(anderssen_kieseritzky) turn(anderssen_kieseritzky) # White = TRUE and Black = FALSE move_number(anderssen_kieseritzky) ply_number(anderssen_kieseritzky) result(anderssen_kieseritzky) # Find all moves available moves(root(anderssen_kieseritzky)) # Some verifiers is_checkmate(anderssen_kieseritzky) is_check(anderssen_kieseritzky) is_game_over(anderssen_kieseritzky) ```