/chess

A fast chess library that use bitboards to play chess with Ruby

Primary LanguageCGNU Lesser General Public License v3.0LGPL-3.0

Chess

A fast Ruby library to play chess with Ruby. This library is quite fast because rappresent the game situations with bitboards. In addition, the move generator is written in C as a Ruby extension.

Requirements

  • Ruby 1.9 or higher

Installation

gem install chess

Usage

require 'chess'
g = Chess::Game.new
until g.over?
  begin
    print "Give me a #{g.active_player} move: "
    input = gets.chop
    break if input == 'quit'
    g << input
    puts g
    puts g.moves.last
  rescue Chess::IllegalMoveError => e
    puts 'Illegal move!'
  end
end
puts g.status

Documentation is available here.

Questions or problems?

If you have any issues please add an issue on GitHub or fork the project and send a pull request.

Copyright © 2015 Enrico Pilotto (@pioz). See LICENSE for details.