summaryrefslogtreecommitdiff
path: root/engine/src/main.rs
blob: 59002ec886cf1bef99daea8388a11aa2b82b85d9 (plain)
use engine::{negamax, CheckersBitBoard, TranspositionTable};

const DEPTH: u8 = 18;

fn main() {
	let board = CheckersBitBoard::starting_position();
	let mut table = TranspositionTable::new(50_000);
	let mut alpha = -1.0;
	let mut beta = 1.0;
	for i in 0..DEPTH {
		let mut eval = negamax(i, alpha, beta, board, table.mut_ref());

		if (eval <= alpha) || (eval >= beta) {
			eval = negamax(i, -1.0, 1.0, board, table.mut_ref());
		}

		alpha = f32::max(eval + 0.125, -1.0);
		beta = f32::min(eval + 0.125, 1.0);
	}

	println!("{:?}", negamax(DEPTH, alpha, beta, board, table.mut_ref(),));
}