aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/brothers.zig9
-rw-r--r--src/utils.zig3
2 files changed, 11 insertions, 1 deletions
diff --git a/src/brothers.zig b/src/brothers.zig
index 6121841..c3bde96 100644
--- a/src/brothers.zig
+++ b/src/brothers.zig
@@ -28,6 +28,15 @@ pub const Brother = struct {
self.x -= 1;
if (gamepad.held.right and self.x <= utils.rightLimit[@enumToInt(self.side)] - brother_width)
self.x += 1;
+ if (self.y < 160) { // jumping!
+ self.vy += utils.gravity;
+ self.y += self.vy * utils.frequency;
+ if (self.y > 160)
+ self.y = 160;
+ } else if (gamepad.pressed.up) {
+ self.vy = -200;
+ self.y += self.vy * utils.frequency;
+ }
}
};
diff --git a/src/utils.zig b/src/utils.zig
index 5fa40f9..bb9eb13 100644
--- a/src/utils.zig
+++ b/src/utils.zig
@@ -1,6 +1,7 @@
//----- Physics ---------------------------------------------------------------
pub const gravity: f64 = 9.807; // m/s²
-pub const scale: f64 = 1.0 / 30; // 30 pixels == 1m
+pub const scale: f64 = 1.0 / 30.0; // 30 pixels == 1m
+pub const frequency: f64 = 1.0 / 60.0; // 60 fps
//----- Playground ------------------------------------------------------------
pub const side = enum(u1) {