Coder Social home page Coder Social logo

chessai's People

Contributors

goju-ryu avatar

Watchers

 avatar  avatar

chessai's Issues

Implement en-peasant and casteling tracking in `GameState`

Description
Implement a way for the GameState to keep track of the legality of castling and if en-peasant is an option

Suggestions

  • use two boolean values in state to track legality of castling to either side and let ApplyMove change these as rules dictate.
  • remember the last move performed to enable en-peasant check.
    • have delegate to check if any en-peasant is possible
    • let the last move be public so move generators can look up which piece is eligible for the move

Implement XBoard compatible I/O actions

Implement methods that translate the internal model to x-board compatible outputs. The commands and format rules can be found in the XBoard documentation.

At minimum the following commands need to be implemented for the game to function:
Commands to the AI

  • new
  • quit
  • MOVE

Commands to XBoard

  • move MOVE
  • Error (ERRORTYPE): COMMAND
  • RESULT {COMMENT}

Additionally implementing the commands below would be preferable and make testing easier:
Commands to the AI

  • post
  • force + go
  • sd DEPTH
  • st TIME and/or level MPS BASE INC
  • result RESULT {COMMENT}

Cammands to XBoard

  • debug + # COMMENT
  • Illegal move (REASON): MOVE
  • telluser MESSAGE / tellusererror MESSAGE
  • output for when in post mode, formated as ply score time nodes pv

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.