diff --git a/main.go b/main.go index 1c17e19..8a517d5 100644 --- a/main.go +++ b/main.go @@ -17,6 +17,7 @@ var ( shape game.Shape shape_pos core.Vec2i8 dropTimer = core.NewIntervalTimer(0.3) + moveTimer = core.NewIntervalTimer(0.1) grid = game.Grid{} nextShape game.ShapeType @@ -49,6 +50,18 @@ func LockShape() { } func Update(delta float32) { + if moveTimer.UpdateReset(delta) && (rl.IsKeyDown(rl.KeyLeft) || rl.IsKeyDown(rl.KeyRight)) { + new_pos := shape_pos + if rl.IsKeyDown(rl.KeyLeft) { + new_pos.X -= 1 + } else { + new_pos.X += 1 + } + if !game.CheckShapeCollision(new_pos, &shape, &grid) { + shape_pos.X = new_pos.X + } + } + if dropTimer.UpdateReset(delta) { new_pos := shape_pos new_pos.Y += 1