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

Version Path
just_chess-1.0.9 README.md
just_chess-1.0.8 README.md
just_chess-1.0.7 README.md
just_chess-1.0.6 README.md
just_chess-1.0.5 README.md
just_chess-1.0.4 README.md
just_chess-1.0.3 README.md
just_chess-1.0.2 README.md
just_chess-1.0.1 README.md
just_chess-1.0.0 README.md
just_chess-0.1.0 README.md