stop to swallow
This commit is contained in:
parent
fc082d293b
commit
b3dc63f154
1 changed files with 19 additions and 16 deletions
35
src/Mono.cs
35
src/Mono.cs
|
@ -168,27 +168,30 @@ static class Mono
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (snake_len == snake.Length)
|
if (eaten_latch.delta != +1)
|
||||||
{
|
{
|
||||||
// win condition
|
if (snake_len == snake.Length)
|
||||||
Log.Info("full snake");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (grow_buffer > 0)
|
|
||||||
{
|
{
|
||||||
snake_len++;
|
// win condition
|
||||||
grow_buffer--;
|
Log.Info("full snake");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (grow_buffer > 0)
|
||||||
|
{
|
||||||
|
snake_len++;
|
||||||
|
grow_buffer--;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// slither
|
// slither
|
||||||
for (int i = snake.Length - 1; i > 0; i--)
|
for (int i = snake.Length - 1; i > 0; i--)
|
||||||
{
|
{
|
||||||
snake[i] = snake[i - 1];
|
snake[i] = snake[i - 1];
|
||||||
|
}
|
||||||
|
snake[0] += snake_dir;
|
||||||
}
|
}
|
||||||
snake[0] += snake_dir;
|
|
||||||
|
|
||||||
in_box.Step(box_space.InRange(snake[0]));
|
in_box.Step(box_space.InRange(snake[0]));
|
||||||
if (in_box.delta != 0) // 1 just in -1 just out
|
if (in_box.delta != 0) // 1 just in -1 just out
|
||||||
|
|
Loading…
Add table
Reference in a new issue