From bd770946746827f3e6341a0e11d4995b4ece2d39 Mon Sep 17 00:00:00 2001 From: Rose Hogenson Date: Thu, 5 Sep 2024 21:40:11 -0700 Subject: Add some redundant keybinds. If I make the key bindings intuitive enough, there's no need for documentation right? --- pongo.go | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/pongo.go b/pongo.go index 4ac9c40..fe11451 100644 --- a/pongo.go +++ b/pongo.go @@ -19,6 +19,10 @@ const ( paddleSpeed = 5 ) +func keyPressed(key sdl.Keycode) bool { + return sdl.GetKeyboardState()[sdl.GetScancodeFromKey(key)] != 0 +} + func rectRight(r *sdl.FRect) float32 { return r.X + r.W } @@ -140,9 +144,6 @@ func pong() error { defer window.Destroy() defer renderer.Destroy() - upPressed := false - downPressed := false - playerScore := 0 aiScore := 0 @@ -164,10 +165,8 @@ func pong() error { return nil case *sdl.KeyboardEvent: switch t.Keysym.Sym { - case sdl.K_UP: - upPressed = t.State == sdl.PRESSED - case sdl.K_DOWN: - downPressed = t.State == sdl.PRESSED + case sdl.K_q, sdl.K_c, sdl.K_ESCAPE: + return nil } } } @@ -178,9 +177,9 @@ func pong() error { const simulationSpeed = time.Second / 120 for ; accumulator >= simulationSpeed; accumulator -= simulationSpeed { switch { - case upPressed && paddle1.bounds().Y >= 0: + case (keyPressed(sdl.K_UP) || keyPressed(sdl.K_w)) && paddle1.bounds().Y >= 0: paddle1.pos -= paddleSpeed - case downPressed && rectBottom(paddle1.bounds()) <= screenHeight: + case (keyPressed(sdl.K_DOWN) || keyPressed(sdl.K_s)) && rectBottom(paddle1.bounds()) <= screenHeight: paddle1.pos += paddleSpeed } -- cgit v1.3.1