simple_chess

Crates.iosimple_chess
lib.rssimple_chess
version1.0.1
sourcesrc
created_at2024-12-08 18:37:49.503684
updated_at2024-12-08 19:52:33.086475
descriptionA simple chess game implimentation
homepage
repositoryhttps://github.com/imcnaugh/simple_chess/tree/main/chess
max_upload_size
id1476539
size140,074
Ian McNaughton (imcnaugh)

documentation

README

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
  • Serializing/Deserializing via Forsyth–Edwards Notation

Installation

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

[dependencies]
chess = "1.0.0"

Usage

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

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 file for more details.

Commit count: 0

cargo fmt