Skip to content
/ chess Public

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

License

Notifications You must be signed in to change notification settings

pioz/chess

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published