const std = @import("std");
const rl = @import("raylib");

const Vec3 = rl.Vector3;

const Frug = struct {
    pos: Vec3,
    radius: f32 = 24,
    pub fn draw(self: @This()) void {
        rl.drawCircle(
            @intFromFloat(self.pos.x),
            @intFromFloat(self.pos.y),
            self.radius,
            rl.Color.green,
        );
    }
    pub fn init() Frug {
        return Frug {
            .pos = .{ .x = 200, .y = 400, .z = 10 },
            .radius = 24,
        }; 
    }
};


pub fn main(init: std.process.Init) anyerror!void {
    const io = init.io;
    try std.Io.File.stdout().writeStreamingAll(io, "FRUGG!\n");

    const screenWidth = 800;
    const screenHeight = 600;

    rl.initWindow(screenWidth, screenHeight, "Zig Frugger");
    defer rl.closeWindow();

    rl.setTargetFPS(60);

    const frug = Frug.init();

    while (!rl.windowShouldClose()) { 
        rl.beginDrawing();
        defer rl.endDrawing();

        rl.clearBackground(.white);

        frug.draw();

        rl.drawText("FRUGG!", 100, 100, 40, .green);
    }
}
