engine.rs 604 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. use bitboard::Bitboard;
  2. use search::Game;
  3. use std::sync::mpsc::{Receiver, Sender};
  4. use movegen::*;
  5. pub enum EngineMsg {
  6. SetBoard,
  7. SetPiece(Bitboard),
  8. Search(i32),
  9. Ping,
  10. Stop,
  11. GetState,
  12. GetInfo,
  13. }
  14. pub enum EngineState {
  15. Idle,
  16. Searching
  17. }
  18. pub enum InterfaceMsg {
  19. BestMove(Move),
  20. State(EngineState)
  21. }
  22. pub fn run_engine(r: Receiver<EngineMsg>, s: Sender<InterfaceMsg>) {
  23. let mut game = Game::default();
  24. for msg in r {
  25. game.pieces[0] = 0xFF00;
  26. generate_pawn_moves(&game, WHITE);
  27. println!("engine received message");
  28. }
  29. }