diff --git a/src/Mono.cs b/src/Mono.cs index 118b300..a195efb 100644 --- a/src/Mono.cs +++ b/src/Mono.cs @@ -22,6 +22,15 @@ static class Mono s_array = new(SD_X, SD_Y, SD_Z, -1), tail_fill = new(SD_X, SD_Y, SD_Z, -1); + static void update_s_array() + { + s_array.Clear(-1); + for (int i = 0; i < snake_len; i++) + { + s_array[snake[i]] = i; + } + } + public static XYZi[] snake = new XYZi[ Maths.u_length(SD_X) * Maths.u_length(SD_Y) * Maths.u_length(SD_Z) ]; @@ -52,6 +61,7 @@ static class Mono { snake[i] = new XYZi(0, 0, 0); } + update_s_array(); } public static void Frame() @@ -185,11 +195,7 @@ static class Mono holes.Remove(snake[snake_len - 1]); } - s_array.Clear(-1); - for (int i = 0; i < snake_len; i++) - { - s_array[snake[i]] = i; - } + update_s_array(); // eat if (!eaten_latch.state)