summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOxore <oxore@protonmail.com>2023-07-31 10:53:22 +0300
committerOxore <oxore@protonmail.com>2023-07-31 10:53:22 +0300
commit3e04545ec9db4a8b0b0ba200425f82969b22830a (patch)
treedfd31406eff8a8dfc8998c49b2b00e43fa671f9f
parent1489dd498e8cf1f8a928d8803b821025c621001d (diff)
Fix moving after softdrop, disable moving when has collision
-rw-r--r--src/main.rs21
1 files changed, 9 insertions, 12 deletions
diff --git a/src/main.rs b/src/main.rs
index 468da4c..0ce3299 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -283,17 +283,16 @@ impl Game {
self.place_figure()
},
'h' => {
- if self.field.has_collision(&self.figure, self.x, self.y) {
- self.x -= 1
- } else if !self.field.has_collision(&self.figure, self.x - 1, self.y) {
- self.x -= 1
+ if !self.field.has_collision(&self.figure, self.x - 1, self.y) {
+ self.x -= 1;
}
}
'j' => {
- if self.field.has_collision(&self.figure, self.x, self.y) {
- self.y -= 1
- } else if !self.field.has_collision(&self.figure, self.x, self.y - 1) {
- self.y -= 1
+ if !self.field.has_collision(&self.figure, self.x, self.y - 1) {
+ self.y -= 1;
+ self.reset_fall_timeout();
+ } else {
+ self.start_place_timeout();
}
}
';' | 'k' => {
@@ -304,10 +303,8 @@ impl Game {
}
}
'l' => {
- if self.field.has_collision(&self.figure, self.x, self.y) {
- self.x += 1
- } else if !self.field.has_collision(&self.figure, self.x + 1, self.y) {
- self.x += 1
+ if !self.field.has_collision(&self.figure, self.x + 1, self.y) {
+ self.x += 1;
}
}
_ => {},