update s_array on init
This commit is contained in:
parent
d46910812f
commit
dd304ae2c8
1 changed files with 11 additions and 5 deletions
16
src/Mono.cs
16
src/Mono.cs
|
@ -22,6 +22,15 @@ static class Mono
|
||||||
s_array = new(SD_X, SD_Y, SD_Z, -1),
|
s_array = new(SD_X, SD_Y, SD_Z, -1),
|
||||||
tail_fill = 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[
|
public static XYZi[] snake = new XYZi[
|
||||||
Maths.u_length(SD_X) * Maths.u_length(SD_Y) * Maths.u_length(SD_Z)
|
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);
|
snake[i] = new XYZi(0, 0, 0);
|
||||||
}
|
}
|
||||||
|
update_s_array();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void Frame()
|
public static void Frame()
|
||||||
|
@ -185,11 +195,7 @@ static class Mono
|
||||||
holes.Remove(snake[snake_len - 1]);
|
holes.Remove(snake[snake_len - 1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
s_array.Clear(-1);
|
update_s_array();
|
||||||
for (int i = 0; i < snake_len; i++)
|
|
||||||
{
|
|
||||||
s_array[snake[i]] = i;
|
|
||||||
}
|
|
||||||
|
|
||||||
// eat
|
// eat
|
||||||
if (!eaten_latch.state)
|
if (!eaten_latch.state)
|
||||||
|
|
Loading…
Add table
Reference in a new issue