Impl: Convert index
This commit is contained in:
@@ -58,7 +58,11 @@ impl Playfield {
|
|||||||
pub fn get_field(&self, row: usize, col: usize) -> &Field {
|
pub fn get_field(&self, row: usize, col: usize) -> &Field {
|
||||||
&self.fields[row][col]
|
&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 {
|
impl fmt::Display for Playfield {
|
||||||
@@ -135,9 +139,13 @@ mod tests {
|
|||||||
assert_eq!(row_2, 1);
|
assert_eq!(row_2, 1);
|
||||||
assert_eq!(col_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!(row_2, 2);
|
||||||
assert_eq!(col_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 {
|
mod parse {
|
||||||
|
|||||||
@@ -19,6 +19,10 @@ impl SudokuSolver {
|
|||||||
return self.playfield.clone();
|
return self.playfield.clone();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn solve_fields(&mut self) {
|
||||||
|
for open_field in &self.playfield.open_fields {}
|
||||||
|
}
|
||||||
|
|
||||||
fn populate_possible_values(&mut self) {
|
fn populate_possible_values(&mut self) {
|
||||||
for open_field in &self.playfield.open_fields {
|
for open_field in &self.playfield.open_fields {
|
||||||
let row_index = open_field / self.playfield.size;
|
let row_index = open_field / self.playfield.size;
|
||||||
@@ -74,7 +78,7 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn simple() {
|
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 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();
|
let solved = solver.solve();
|
||||||
|
|||||||
Reference in New Issue
Block a user