summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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