use std::{time::Instant, f32::INFINITY}; use chessnost::board::Board; fn main() { let fen = String::from("r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq - 0 1"); let mut board = Board::from_FEN(fen); board.ply = 0; let depth = 4; let start = Instant::now(); let (score, pv) = board.negamax_search(-INFINITY, INFINITY, depth); println!("Negamax search (depth = {}) finished in {:?}: {:?}", depth, start.elapsed(), score); board.print(); for mov in pv { println!("{:?}", mov); println!("Score for {:?}: {}", board.color(), board.evaluate(None)); board.make_move(mov); board.print(); } println!("Score for {:?}: {}", board.color(), board.evaluate(None)); }