const std = @import("std"); const IO = @import("frontend/ncurses.zig").IO; const Action = @import("actions.zig").Action; pub fn main() u8 { var gpa = std.heap.GeneralPurposeAllocator(.{}){}; const allocator = gpa.allocator(); var io = IO.init(allocator) catch |err| { std.log.err("{}", .{err}); return 1; }; defer io.deinit(); try io.displayMessage("Initialized"); var action = Action.illegal; var tick_count: usize = 0; while (action != Action.exit) { const str = std.fmt.allocPrint(allocator, "{}", .{tick_count}) catch { return 1; }; defer allocator.free(str); try io.displayMessage(str); action = io.waitForTick() catch { return 1; }; switch (action) { Action.tick => { const str2 = std.fmt.allocPrint(allocator, "{}", .{tick_count}) catch { return 1; }; defer allocator.free(str2); try io.displayMessage(str2); tick_count += 1; }, else => {}, } } return 0; }