simple_chess 1.0.0

A simple chess game implimentation
Documentation
# Simple Chess

This package provides a comprehensive implementation of the game of chess. It includes all the necessary components to
simulate a chess game, and offers functionalities for game setup, move validation, and game state evaluation. This
package is suitable for both hobbyists and developers looking to integrate a chess engine into their applications.

## Features

- Full implementation of chess rules
- Move generation and validation
- Game state management
- Support for custom board setups
- Undo and redo moves
- Basic artificial intelligence for simple gameplay

## Installation

To use this package in your project, add the following line to your `Cargo.toml` file:

```toml
[dependencies]
chess = "1.0.0"
```

## Usage

Below is a basic usage example showcasing how to create a new chess game and make a move:

```rust
use chess::chess_game_state_analyzer::GameState;
use chess::ChessGame;

fn main() {
    let mut game = ChessGame::new();
    let mut state = game.get_game_state();
    match state {
        GameState::InProgress { legal_moves, turn } => {
            println!("play on, Its {:?}'s turn.", turn);
            state = game.make_move(legal_moves[0])
        },
        _ => ()
    };
    println!("{}", game.get_board());
}
```

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE.txt) file for more details.