diff options
Diffstat (limited to 'src/particle.zig')
| -rw-r--r-- | src/particle.zig | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/src/particle.zig b/src/particle.zig index e0cb789..bf36cfb 100644 --- a/src/particle.zig +++ b/src/particle.zig @@ -2,53 +2,6 @@ const cfg = @import("config.zig"); const std = @import("std"); const rl = @import("raylib"); -/// Generate the set of rules the particles will abide by -pub fn ruleMatrix() [cfg.colorAmnt][cfg.colorAmnt]f32 { - const seed = @as(u64, @truncate(@as(u128, @bitCast(std.time.nanoTimestamp())))); - var prng = std.rand.DefaultPrng.init(seed); - var rules: [cfg.colorAmnt][cfg.colorAmnt]f32 = undefined; - for (0..cfg.colorAmnt) |i| { - for (0..cfg.colorAmnt) |j| { - var val = prng.random().float(f32); - const isNeg = prng.random().uintAtMost(u8, 1); - if (isNeg == 1) val = 0 - val; - rules[i][j] = val; - } - } - return rules; -} - -/// Prints rules generated from ruleMatrix() -pub fn printRules(rules: [cfg.colorAmnt][cfg.colorAmnt]f32) void { - std.debug.print("\n| {s:^7} ", .{"Rules"}); - for (0..cfg.colors.len) |c| - std.debug.print("| {s:^7} ", .{colorToString(c)}); - - std.debug.print("|\n", .{}); - for (rules, 0..) |row, i| { - std.debug.print("| {s:^7} ", .{colorToString(i)}); - for (row) |col| - std.debug.print("| {d:^7.1} ", .{col}); - - std.debug.print("|\n", .{}); - } -} - -/// Convert the color index to a string -pub fn colorToString(c: usize) []const u8 { - return switch (c) { - 0 => "Red", - 1 => "Green", - 2 => "Blue", - 3 => "Yellow", - 4 => "Magenta", - 5 => "Brown", - 6 => "Orange", - 7 => "Gray", - else => " ", - }; -} - /// Initialize a MultiArrayList of size amnt with particles created by createParticle pub fn initParticles(allocator: std.mem.Allocator, amnt: u32) !std.MultiArrayList(particle) { var particles = std.MultiArrayList(particle){}; |
