pioz / chess

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Chess

build codecov

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

Requirements

  • Ruby 2.5 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

Copyright (c) 2021 Enrico Pilotto (@pioz). See LICENSE for details.

About

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

License:GNU Lesser General Public License v3.0


Languages

Language:C 69.4%Language:Ruby 30.6%