refactor for around box validity
This commit is contained in:
parent
3fdea357fc
commit
c1f0bcc956
2 changed files with 6 additions and 5 deletions
|
@ -78,14 +78,14 @@ static class Arts
|
|||
meshes["uiPlay"].Draw(
|
||||
mat_unlit,
|
||||
Matrix.TR(
|
||||
V.XYZ(0, 0, Mono.SD_Z + 0.5f + 0.1f),
|
||||
V.XYZ(0, 0, Mono.SD_Z - 0.5f + 0.1f),
|
||||
Quat.FromAngles(90, 0, 0)
|
||||
)
|
||||
);
|
||||
meshes["uiCursor"].Draw(
|
||||
mat_unlit,
|
||||
Matrix.TR(
|
||||
V.XYZ(0, 0, Mono.SD_Z + 0.5f + 0.2f),
|
||||
V.XYZ(0, 0, Mono.SD_Z - 0.5f + 0.2f),
|
||||
Quat.FromAngles(90, 0, 0)
|
||||
)
|
||||
);
|
||||
|
|
|
@ -13,8 +13,9 @@ static class Mono
|
|||
|
||||
public static Pose box_pose = new(0, -3 * U.cm, -10 * U.cm);
|
||||
public static float box_scale = 1.333f * U.cm;
|
||||
public const int SD_X = 2, SD_Y = 1, SD_Z = 2;
|
||||
public const int SD_X = 3, SD_Y = 2, SD_Z = 3;
|
||||
public static SpatialArray<int>
|
||||
box_space = new(SD_X-1, SD_Y-1, SD_Z-1, -1),
|
||||
s_array = new(SD_X, SD_Y, SD_Z, -1),
|
||||
tail_fill = new(SD_X, SD_Y, SD_Z, -1);
|
||||
|
||||
|
@ -163,7 +164,7 @@ static class Mono
|
|||
snake[0] += snake_dir;
|
||||
}
|
||||
|
||||
in_box.Step(s_array.InRange(snake[0]));
|
||||
in_box.Step(box_space.InRange(snake[0]));
|
||||
if (in_box.delta != 0) // 1 just in -1 just out
|
||||
{
|
||||
holes.Add(snake[0], snake_dir);
|
||||
|
@ -222,7 +223,7 @@ static class Mono
|
|||
XYZi dir = directions[dir_indices[i]];
|
||||
XYZi dir_cell = cell + dir;
|
||||
int tail_dist = tail_fill[dir_cell];
|
||||
if (tail_dist > 1 && tail_dist < min_dist)
|
||||
if (tail_dist > 1 && tail_dist < min_dist && box_space.InRange(dir_cell))
|
||||
{
|
||||
min_dist = tail_dist;
|
||||
min_cell = dir_cell;
|
||||
|
|
Loading…
Add table
Reference in a new issue