Restructure into different files

This commit is contained in:
jonathan santis
2024-10-30 10:38:15 +01:00
parent ed91d9c711
commit 4ab7bf6ce1
6 changed files with 228 additions and 167 deletions

44
movement.zig Normal file
View File

@@ -0,0 +1,44 @@
const term = @import("term.zig");
const Winsize = term.Winsize;
const primitive = @import("primitives.zig");
const Point = primitive.Point;
pub fn mv_axis_border_bounce(w: Winsize, point: *Point, axis: u8) void {
var cor = &point.x;
var dir = &point.direction.x;
var upper = w.ws_col;
switch (axis) {
'x' => {
cor = &point.x;
upper = w.ws_col;
dir = &point.direction.x;
},
'y' => {
cor = &point.y;
upper = w.ws_row;
dir = &point.direction.y;
},
'X' => {
cor = &point.x;
upper = w.ws_col;
dir = &point.direction.x;
dir.* = -1;
},
'Y' => {
cor = &point.y;
upper = w.ws_row;
dir = &point.direction.y;
dir.* = -1;
},
else => {},
}
if (cor.* < upper and cor.* > 0) {
cor.* += dir.*;
}
if (cor.* >= upper or cor.* <= 0) {
dir.* *= -1;
cor.* += dir.*;
}
}