use std::{f32::INFINITY, time::{Duration, Instant}}; use chessnost::board::{Board, Color}; fn main() { let fen = String::from("5k2/p2Q4/2p5/4q3/8/2P2Pp1/PP4P1/1K3N2 w - - 1 29"); let mut board = Board::from_FEN(fen); board.print(); loop { let mov = match board.read_move() { Ok(m) => m, Err(e) => { println!("Error: {}", e); continue; } }; print!("{:?}", mov); board.make_move(mov); board.print(); let start = Instant::now(); let (score, pv) = board.iterative_deepening(10, Duration::from_secs(10)); println!("Finished in {:?}: score={:?}", start.elapsed(), score); let mov = pv[0]; println!("{:?}", mov); board.make_move(mov); board.print(); println!("Score for {:?} is now: {}", board.color(), board.quiscence(-INFINITY, INFINITY)); } }