pub mod interface; pub mod bitboard; pub mod movegen; pub mod engine; pub mod game; pub mod evaluate; pub mod search; pub mod zobrist; pub mod hash; extern crate log; extern crate simplelog; extern crate rand; use std::sync::mpsc; use std::{thread, fs::File}; use log::*; use simplelog::*; use engine::Engine; fn main() { /*let mut builder = Builder::from_default_env(); builder .filter(None, LevelFilter::Info) .target(Target::Pipe(Box::new(File::create("debug.log").unwrap()))) //.target(Target::Stderr) .init(); */ //assert_eq!(std::mem::size_of::(), 6); /*let mit = mate_in_p1(4); let mis = mate_in_p1(-7); if mit < mis { println!("ohno"); } println!("mit: {}", mit); if let Some(t) = is_mate_in_p1(-mit) { println!("t: {}", t); }*/ let logfile = File::create("/home/nicolas/debug.log").unwrap(); simplelog::WriteLogger::init(LevelFilter::Info, Config::default(), logfile).unwrap(); let (esend, erecv) = mpsc::channel(); let (isend, irecv) = mpsc::channel(); // spawn engine thread thread::spawn(move || { let mut engine = Engine::new(erecv, isend); engine.run(); }); interface::run(irecv, esend); }