aboutsummaryrefslogtreecommitdiff
path: root/src/game.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/game.zig')
-rw-r--r--src/game.zig15
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();
+ }
};