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) 2024 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

Sponsor this project