Impl: Calculate Box Size

This commit is contained in:
Jonas Zeunert
2024-02-20 12:35:39 +01:00
parent 12d870f34f
commit 2d1c285e81
2 changed files with 29 additions and 7 deletions

View File

@@ -25,13 +25,13 @@ impl SudokuSolver {
fn populate_possible_values(&mut self) {
for open_field in &self.playfield.open_fields {
let row_index = open_field / self.playfield.size;
let row = &self.playfield.fields[row_index];
let (row_idx, col_idx) = self.playfield.convert_index(*open_field);
let row = &self.playfield.fields[row_idx];
let possible_values_row = possible_values_from_vec(row, self.playfield.size as u32);
let col_index = open_field % self.playfield.size;
let col = self.playfield.get_column(col_index);
let col = self.playfield.get_column(col_idx);
let possible_values_col = possible_values_from_vec(&col, self.playfield.size as u32);
let possible_values = possible_values_row
@@ -39,7 +39,7 @@ impl SudokuSolver {
.map(|v| *v)
.collect();
let row = &mut self.playfield.fields[row_index];
let row = &mut self.playfield.fields[row_idx];
let field = &mut row[col_index];
field.possible_values = possible_values;
}
@@ -86,6 +86,11 @@ mod tests {
assert_eq!(solved, expected);
}
}
mod solve_fields {
use super::*;
#[test]
fn simple() {}
}
mod possible_values {
use super::*;
#[test]