diff options
author | Oxore <oxore@protonmail.com> | 2023-07-31 10:53:22 +0300 |
---|---|---|
committer | Oxore <oxore@protonmail.com> | 2023-07-31 10:53:22 +0300 |
commit | 3e04545ec9db4a8b0b0ba200425f82969b22830a (patch) | |
tree | dfd31406eff8a8dfc8998c49b2b00e43fa671f9f /src/main.rs | |
parent | 1489dd498e8cf1f8a928d8803b821025c621001d (diff) |
Fix moving after softdrop, disable moving when has collision
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 21 |
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; } } _ => {}, |