An implementation of the Universal Chess Interface in Rust.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

27 lines
901 B

//! UCI is a simple library to allow people to ignore the lower-level protocol needed to create chess engines.
mod commands;
pub struct Engine<'a> {
pub name: &'a str,
pub author: &'a str,
}
/// Notes to delete later:
///
/// The user will have to provide code to run for the lifecycle. Moreover the user will have to overwrite a handful
/// of methods that need explicit contact with the underlying engine code to determine what to do before doing a
/// "run". There needs to be a "loop" that kicks off a thread to monitor stdin and also calculations, etc.
/// It will be worth taking the time to map out exactly how a user will be able to use this generic UCI interface
/// effectively without losing too much and/or making their lives hard.
impl<'a> Engine<'a> {
pub fn new(name: &'a str, author: &'a str) -> Engine<'a> {
Engine {
name: name,
author: author,
}
}
}