Impl: Convert index

This commit is contained in:
Jonas Zeunert
2024-02-20 01:07:01 +01:00
parent b762a2da92
commit 12d870f34f
2 changed files with 15 additions and 3 deletions

View File

@@ -58,7 +58,11 @@ impl Playfield {
pub fn get_field(&self, row: usize, col: usize) -> &Field {
&self.fields[row][col]
}
pub fn convert_index(&self, index: usize) -> (usize, usize) {}
pub fn convert_index(&self, index: usize) -> (usize, usize) {
let row = index / self.size;
let col = index % self.size;
(row, col)
}
}
impl fmt::Display for Playfield {
@@ -135,9 +139,13 @@ mod tests {
assert_eq!(row_2, 1);
assert_eq!(col_2, 1);
let (row_2, col_2) = playfield.convert_index(9);
let (row_2, col_2) = playfield.convert_index(8);
assert_eq!(row_2, 2);
assert_eq!(col_2, 2);
let (row_2, col_2) = playfield.convert_index(3);
assert_eq!(row_2, 1);
assert_eq!(col_2, 0);
}
}
mod parse {

View File

@@ -19,6 +19,10 @@ impl SudokuSolver {
return self.playfield.clone();
}
fn solve_fields(&mut self) {
for open_field in &self.playfield.open_fields {}
}
fn populate_possible_values(&mut self) {
for open_field in &self.playfield.open_fields {
let row_index = open_field / self.playfield.size;
@@ -74,7 +78,7 @@ mod tests {
#[test]
fn simple() {
let solver = setup_solver("1 0 3 4 4 0 2 0 0 1 0 2 2 4 0 3", 4);
let solver = &mut setup_solver("1 0 3 4 4 0 2 0 0 1 0 2 2 4 0 3", 4);
let expected = create_test_playfield("1 2 3 4 4 3 2 1 3 1 4 2 2 4 1 3", 4);
let solved = solver.solve();