Sha256: 81c6d35469ec83e52967285a5a686c76eef9515bde1212a4cd08c36fcb00a581
Contents?: true
Size: 1.89 KB
Versions: 11
Compression:
Stored size: 1.89 KB
Contents
# JustChess A chess engine written in ruby. It provides a representation of a chess game complete with rules enforcement and serialisation. ## Installation Add this line to your application's Gemfile: ```ruby gem 'just_chess' ``` And then execute: $ bundle Or install it yourself as: $ gem install just_chess ## Usage To start, a new game state can be instantiated with the default state: ```ruby game_state = JustChess::GameState.default ``` Moves can be made by passing in the player number and the from and to rank and file co-ordinates. It will return true if the move is valid, otherwise it will return false. ```ruby game_state.move(1, 'e4', 'e5') ``` The last change with all its details are found in the `last_change` attribute ```ruby game_state.last_change ``` If something happens errors may be found in the errors attribute ```ruby game_state.errors ``` The Winner can be found by calling winner on the object. ```ruby game_state.winner ``` Also, the game can be serialized into a hash. ```ruby game_state.as_json ``` ## Development After checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment. ## Contributing Bug reports and pull requests are welcome on GitHub at https://github.com/mrlhumphreys/just_chess. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. ## License The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT). ## Code of Conduct Everyone interacting in the JustChess project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/mrlhumphreys/just_chess/blob/master/CODE_OF_CONDUCT.md).
Version data entries
11 entries across 11 versions & 1 rubygems