ruby-chess-board is a collection of objects that have the capability to:

  • Determine possible moves a piece can make at a given point in a game.
  • Keep track of positions on a chess board.
  • Keep track of a chess game.
  • Provide terminal output for a chess board.

For obvious reasons, this is not meant to be a performant implementation of chess logic; instead, it is an experiment to see what an easy-to-understand, object-oriented implementation in Ruby might look like.

Documentation can be found here.