|
@@ -7,7 +7,7 @@ use movegen::*;
|
|
use std::sync::mpsc::{Receiver, Sender};
|
|
use std::sync::mpsc::{Receiver, Sender};
|
|
|
|
|
|
pub enum EngineMsg {
|
|
pub enum EngineMsg {
|
|
- SetBoard([Bitboard; 12]),
|
|
|
|
|
|
+ SetBoard(Game),
|
|
SetPiece(Bitboard),
|
|
SetPiece(Bitboard),
|
|
Search(i32),
|
|
Search(i32),
|
|
Ping,
|
|
Ping,
|
|
@@ -38,11 +38,19 @@ pub fn run_engine(r: Receiver<EngineMsg>, s: Sender<InterfaceMsg>) {
|
|
//game.pieces[10] = 0x4000_0000_0000_0000;
|
|
//game.pieces[10] = 0x4000_0000_0000_0000;
|
|
|
|
|
|
match msg {
|
|
match msg {
|
|
- EngineMsg::SetBoard(_) => { println!("SetBoard") },
|
|
|
|
|
|
+ EngineMsg::SetBoard(g) => {
|
|
|
|
+ println!("SetBoard");
|
|
|
|
+ game = g;
|
|
|
|
+ },
|
|
EngineMsg::SetPiece(_) => { println!("SetPiece") },
|
|
EngineMsg::SetPiece(_) => { println!("SetPiece") },
|
|
- EngineMsg::Search(depth) => { println!("Search {}", depth) },
|
|
|
|
|
|
+ EngineMsg::Search(depth) => {
|
|
|
|
+ println!("Search {}", depth);
|
|
|
|
+ let best_move = search(&game, depth);
|
|
|
|
+ println!("bestmove {:?}", best_move);
|
|
|
|
+ },
|
|
EngineMsg::Ping => { println!("Ping") },
|
|
EngineMsg::Ping => { println!("Ping") },
|
|
EngineMsg::Stop => { println!("Stop") },
|
|
EngineMsg::Stop => { println!("Stop") },
|
|
|
|
+ EngineMsg::NewGame => { println!("NewGame") },
|
|
EngineMsg::GetState => { println!("GetState") },
|
|
EngineMsg::GetState => { println!("GetState") },
|
|
EngineMsg::GetInfo => { println!("GetInfo") },
|
|
EngineMsg::GetInfo => { println!("GetInfo") },
|
|
}
|
|
}
|
|
@@ -50,8 +58,6 @@ pub fn run_engine(r: Receiver<EngineMsg>, s: Sender<InterfaceMsg>) {
|
|
println!("{}", game.beautiful_print());
|
|
println!("{}", game.beautiful_print());
|
|
|
|
|
|
//let moves = generate_moves(&game, WHITE);
|
|
//let moves = generate_moves(&game, WHITE);
|
|
- let best_move = search(&game, 2);
|
|
|
|
- println!("bestmove {:?}", best_move);
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|