new stuff idk
This commit is contained in:
@@ -79,4 +79,77 @@ impl TaquinGame {
|
||||
|
||||
return valid_direction;
|
||||
}
|
||||
|
||||
pub fn is_grid_done(&mut self) -> bool {
|
||||
let mut error_found = false;
|
||||
let mut value = 1;
|
||||
|
||||
for i in 0..ROWS {
|
||||
if !error_found {
|
||||
for j in 0..COLUMNS {
|
||||
if !error_found {
|
||||
if self.grid[i][j] != value {
|
||||
error_found = true;
|
||||
}
|
||||
value += 1;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if !error_found {
|
||||
if self.score > 0 && (self.high_score == 0 || self.score > self.high_score) {
|
||||
self.high_score = self.score;
|
||||
}
|
||||
}
|
||||
|
||||
return error_found;
|
||||
}
|
||||
|
||||
pub fn init_grid(&mut self) {
|
||||
let move_nmbr = self.rng.random_range(400..500);
|
||||
let mut rnd_nmbr = [0u8, 0, 0, 0];
|
||||
|
||||
self.resolve();
|
||||
|
||||
for _ in 0..move_nmbr {
|
||||
loop {
|
||||
rnd_nmbr[3] = self.rng.random_range(0..4);
|
||||
if rnd_nmbr[0] != rnd_nmbr[3] {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
rnd_nmbr = [rnd_nmbr[1], rnd_nmbr[2], rnd_nmbr[3], rnd_nmbr[3]];
|
||||
|
||||
self.move_to(match rnd_nmbr[3] {
|
||||
0 => Directions::Up,
|
||||
1 => Directions::Down,
|
||||
2 => Directions::Left,
|
||||
3 => Directions::Right,
|
||||
_ => Directions::Up,
|
||||
});
|
||||
}
|
||||
|
||||
self.score = 0;
|
||||
}
|
||||
|
||||
fn exchange(&mut self, ax: usize, ay: usize, bx: usize, by: usize) {}
|
||||
|
||||
pub fn resolve(&mut self) {
|
||||
let mut value = 1;
|
||||
self.score = 0;
|
||||
self.empty_coord = [ROWS - 1, COLUMNS - 1];
|
||||
|
||||
for i in 0..ROWS {
|
||||
for j in 0..COLUMNS {
|
||||
self.grid[i][j] = value;
|
||||
value += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user