summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOxore <oxore@protonmail.com>2023-08-01 21:26:45 +0300
committerOxore <oxore@protonmail.com>2023-08-01 21:26:45 +0300
commitf5b3d6846f06498166b786e5bc2c8f5dcb85f76c (patch)
treea2e0b2382ce9ce5aee078a036e7f16a611340921
parent2d43dc5963e76e143b4d786051cccde0ab3cb1f8 (diff)
Fix figure placement
-rw-r--r--src/main.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/main.rs b/src/main.rs
index 807a813..80f95b8 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -281,6 +281,7 @@ impl Game {
self.field.kill_line(line);
}
}
+ self.stop_place_timeout();
}
fn hold_figure(&mut self) {
(self.figure_on_hold, self.figure) = (Figure::from_kind(self.figure.kind.clone()), self.figure_on_hold.clone());
@@ -350,9 +351,9 @@ impl Game {
self.place_figure();
} else {
self.y -= 1;
- }
- if self.field.has_collision(&self.figure, self.x, self.y - 1) {
- self.start_place_timeout();
+ if self.field.has_collision(&self.figure, self.x, self.y - 1) {
+ self.start_place_timeout();
+ }
}
self.reset_fall_timeout();
}
@@ -364,7 +365,7 @@ impl Game {
};
let advance_figure_result = if let Some(t) = &self.place_timeout {
if t.is_elapsed() {
- self.advance_figure();
+ self.place_figure();
Some(StepResult::StateChanged)
} else {
None