main.rs 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. pub mod interface;
  2. pub mod bitboard;
  3. pub mod movegen;
  4. pub mod engine;
  5. pub mod game;
  6. pub mod evaluate;
  7. pub mod search;
  8. pub mod zobrist;
  9. pub mod ttable;
  10. pub mod settings;
  11. pub mod magic;
  12. extern crate log;
  13. extern crate simplelog;
  14. extern crate rand;
  15. use std::sync::{mpsc};
  16. use std::{thread, fs::File};
  17. use engine::Engine;
  18. use log::*;
  19. use simplelog::*;
  20. fn main() {
  21. /*let mut builder = Builder::from_default_env();
  22. builder
  23. .filter(None, LevelFilter::Info)
  24. .target(Target::Pipe(Box::new(File::create("debug.log").unwrap())))
  25. //.target(Target::Stderr)
  26. .init();
  27. */
  28. let logfile = File::create("C:\\Users\\Nicolas\\debug.log").unwrap();
  29. simplelog::WriteLogger::init(LevelFilter::Info, Config::default(), logfile).unwrap();
  30. let (esend, erecv) = mpsc::channel();
  31. let (isend, irecv) = mpsc::channel();
  32. // spawn engine thread
  33. thread::spawn(move || {
  34. let mut engine = Engine::new(erecv, isend);
  35. engine.run();
  36. });
  37. interface::run(irecv, esend);
  38. }