diff options
| -rw-r--r-- | numbers/numbers.go | 18 | ||||
| -rw-r--r-- | pongo.go | 13 |
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 @@ -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) } } |
