main.rs 996 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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 hash;
  10. extern crate log;
  11. extern crate simplelog;
  12. extern crate rand;
  13. use std::sync::mpsc;
  14. use std::{thread, fs::File};
  15. use log::*;
  16. use simplelog::*;
  17. use engine::Engine;
  18. fn main() {
  19. /*let mut builder = Builder::from_default_env();
  20. builder
  21. .filter(None, LevelFilter::Info)
  22. .target(Target::Pipe(Box::new(File::create("debug.log").unwrap())))
  23. //.target(Target::Stderr)
  24. .init();
  25. */
  26. let logfile = File::create("C:\\Users\\Nicolas\\debug.log").unwrap();
  27. simplelog::WriteLogger::init(LevelFilter::Info, Config::default(), logfile).unwrap();
  28. let (esend, erecv) = mpsc::channel();
  29. let (isend, irecv) = mpsc::channel();
  30. // spawn engine thread
  31. thread::spawn(move || {
  32. let mut engine = Engine::new(erecv, isend);
  33. engine.run();
  34. });
  35. interface::run(irecv, esend);
  36. }