aboutsummaryrefslogtreecommitdiff
path: root/src/ball.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/ball.zig')
-rw-r--r--src/ball.zig8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/ball.zig b/src/ball.zig
index 9603d9a..a48fe9f 100644
--- a/src/ball.zig
+++ b/src/ball.zig
@@ -20,7 +20,7 @@ pub const Ball = struct {
self.vx = 0;
self.vy = -250;
}
- pub fn update(self: *Ball) void {
+ pub fn update(self: *Ball) ?utils.side {
self.vy += utils.gravity;
self.x += self.vx * utils.frequency;
self.y += self.vy * utils.frequency;
@@ -40,6 +40,11 @@ pub const Ball = struct {
if (self.y >= 160 - ball_height) { // floor
self.vy = 0;
self.y = 160 - ball_height;
+ if (self.x <= 80) {
+ return .left;
+ } else {
+ return .right;
+ }
}
// Net collision left
var x1: f64 = 78 - ball_width;
@@ -85,6 +90,7 @@ pub const Ball = struct {
self.x = x2;
}
}
+ return null;
}
};