summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRose Hogenson <rosehogenson@posteo.net>2024-08-26 21:09:12 -0700
committerRose Hogenson <rosehogenson@posteo.net>2024-08-26 21:09:12 -0700
commitfe1b9cb708f03d8a78760be698d0f127f196c99e (patch)
treeb06f5f4ad9861c868141286e1edb286292bcc216
parent1a386dc5ff5cf88182e930d19965dda2692551dc (diff)
downloadpongo-fe1b9cb708f03d8a78760be698d0f127f196c99e.tar.zst
Handle some more errors.
-rw-r--r--numbers/numbers.go18
-rw-r--r--pongo.go13
2 files changed, 21 insertions, 10 deletions
diff --git a/numbers/numbers.go b/numbers/numbers.go
index 7a2194a..f4f90b2 100644
--- a/numbers/numbers.go
+++ b/numbers/numbers.go
@@ -25,21 +25,25 @@ func drawDigit(renderer *sdl.Renderer, d int, x, y int32) error {
thickness = 10
)
for _, segment := range digitSegments[d] {
+ var err error
switch segment {
case 0:
- renderer.FillRect(&sdl.Rect{X: x, Y: y, W: width, H: thickness})
+ err = renderer.FillRect(&sdl.Rect{X: x, Y: y, W: width, H: thickness})
case 1:
- renderer.FillRect(&sdl.Rect{X: x, Y: y, W: thickness, H: height / 2})
+ err = renderer.FillRect(&sdl.Rect{X: x, Y: y, W: thickness, H: height / 2})
case 2:
- renderer.FillRect(&sdl.Rect{X: x + width - thickness, Y: y, W: thickness, H: height / 2})
+ err = renderer.FillRect(&sdl.Rect{X: x + width - thickness, Y: y, W: thickness, H: height / 2})
case 3:
- renderer.FillRect(&sdl.Rect{X: x, Y: y + height/2 - thickness/2, W: width, H: thickness})
+ err = renderer.FillRect(&sdl.Rect{X: x, Y: y + height/2 - thickness/2, W: width, H: thickness})
case 4:
- renderer.FillRect(&sdl.Rect{X: x, Y: y + height/2, W: thickness, H: height / 2})
+ err = renderer.FillRect(&sdl.Rect{X: x, Y: y + height/2, W: thickness, H: height / 2})
case 5:
- renderer.FillRect(&sdl.Rect{X: x + width - thickness, Y: y + height/2, W: thickness, H: height / 2})
+ err = renderer.FillRect(&sdl.Rect{X: x + width - thickness, Y: y + height/2, W: thickness, H: height / 2})
case 6:
- renderer.FillRect(&sdl.Rect{X: x, Y: y + height - thickness, W: width, H: thickness})
+ err = renderer.FillRect(&sdl.Rect{X: x, Y: y + height - thickness, W: width, H: thickness})
+ }
+ if err != nil {
+ return err
}
}
return nil
diff --git a/pongo.go b/pongo.go
index 2a68a0d..01c6a8d 100644
--- a/pongo.go
+++ b/pongo.go
@@ -195,7 +195,9 @@ func pong() error {
ball.pos = ball.pos.add(ball.velocity)
switch {
case ball.bounds().HasIntersection(paddle1.bounds()) && ball.velocity.x <= 0:
- ping.Play(-1, 0)
+ if _, err := ping.Play(-1, 0); err != nil {
+ fmt.Fprintln(os.Stderr, err)
+ }
d := ball.pos.y - paddle1.pos
if d < 0 {
d = -d
@@ -207,7 +209,9 @@ func pong() error {
speed := ballSpeed * (1 + 4*d/(float64(paddle1.bounds().H)/2+float64(ball.bounds().H)))
ball.velocity = vector2{speed * math.Cos(angle), speed * math.Sin(angle)}
case ball.bounds().HasIntersection(paddle2.bounds()) && ball.velocity.x >= 0:
- ping.Play(-1, 0)
+ if _, err := ping.Play(-1, 0); err != nil {
+ fmt.Fprintln(os.Stderr, err)
+ }
d := ball.pos.y - paddle2.pos
if d < 0 {
d = -d
@@ -226,7 +230,9 @@ func pong() error {
playerScore++
ball.reset(left)
case ball.bounds().Y <= 0 && ball.velocity.y < 0 || rectBottom(ball.bounds()) >= screenHeight && ball.velocity.y > 0:
- ping.Play(-1, 0)
+ if _, err := ping.Play(-1, 0); err != nil {
+ fmt.Fprintln(os.Stderr, err)
+ }
ball.velocity.y = -ball.velocity.y
}
}
@@ -272,5 +278,6 @@ func pong() error {
func main() {
if err := pong(); err != nil {
fmt.Fprintln(os.Stderr, err)
+ os.Exit(1)
}
}