use std::{time::{Instant, Duration}, f32::INFINITY}; use chessnost::{board::{Board, io::IO}, grossmeister::Grossmeister}; fn main() { let fen = String::from("r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq - "); let board = Board::from_FEN(fen); let mut gm = Grossmeister::new(board); let start = Instant::now(); let (score, pv) = gm.iterative_deepening(6, Duration::from_secs(15), true); println!("Finished in {:?}: score={:?} {:?}", start.elapsed(), score, pv); gm.board.print(); for mov in pv { println!("Score for {:?} is now: {}", gm.board.color(), gm.quiscence(-INFINITY, INFINITY)); println!("{:?}", mov); gm.board.make_move(mov); gm.board.print(); } println!("Score for {:?} is now: {}", gm.board.color(), gm.quiscence(-INFINITY, INFINITY)); }