use iner_calc::*;
use clap::Parser;
#[derive(Parser, Debug)]
#[command(version, about)]
struct Cli {
board_size: usize,
nesre: usize,
pet: usize,
gabe: usize,
shay: usize,
}
fn main() {
let cli = Cli::parse();
let simulation = Simulation {
available_techniques: vec![
Technique::ExtractIV,
Technique::FilterI,
Technique::FilterII,
Technique::FilterIII,
Technique::MingleI,
Technique::MingleII,
Technique::MingleIII,
Technique::CrystalI,
Technique::CrystalII,
Technique::CrystalIII,
],
board_size: cli.board_size,
initial_nesre: cli.nesre,
initial_pet: cli.pet,
initial_gabe: cli.gabe,
initial_shay: cli.shay,
};
let game = simulation.find_best_v2();
let (s, _) = game.clone().run();
let Game {board, technique, ..} = game;
println!("======== CALCULATION FINISHED ========");
println!("Score: {}", s);
println!("Board: {:?}", board);
println!("Technique: {:?}", technique);
}