diff options
Diffstat (limited to 'src/game.zig')
-rw-r--r-- | src/game.zig | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/game.zig b/src/game.zig index fc64001..97c2c80 100644 --- a/src/game.zig +++ b/src/game.zig @@ -6,17 +6,28 @@ const playfield = @import("playfield.zig"); pub const Game = struct { brothers: [2]brothers.Brother = undefined, - character: ?brothers.Side = undefined, + side: brothers.Side = undefined, pub fn draw(self: Game, rc: *spoon.Term.RenderContext) !void { try playfield.draw(rc); try self.brothers[0].draw(rc); try self.brothers[1].draw(rc); } - pub fn reset(self: *Game) void { + pub fn moveLeft(self: *Game) void { + self.brothers[@enumToInt(self.side)].moveLeft(); + } + pub fn moveRight(self: *Game) void { + self.brothers[@enumToInt(self.side)].moveRight(); + } + pub fn reset(self: *Game, side: brothers.Side) void { + self.side = side; self.resetRound(); } pub fn resetRound(self: *Game) void { self.brothers[0].reset(brothers.Side.left); self.brothers[1].reset(brothers.Side.right); } + pub fn step(self: *Game) void { + self.brothers[0].step(); + self.brothers[1].step(); + } }; |