use crate::board::Board; pub trait Solver { /** * Finds one solution for the board. */ fn solve(&self, _: &Board) -> Option; /** * Calculates if there are multiple solutions for the board. */ fn is_unique(&self, _ : &Board) -> bool; } pub enum SodokuComplexity { Trivial, Easy, Average, Hard, Difficult, Impossibru } pub trait Generator{ fn generate(&self, _complexity:SodokuComplexity) -> Board; }