snake: Remove random goto statements when regenerating apple's position
This commit is contained in:
parent
b1fe24bb57
commit
46b34817d2
|
@ -65,13 +65,16 @@ Point get_random_point()
|
|||
|
||||
void update_apple()
|
||||
{
|
||||
regenerate:
|
||||
g_apple = get_random_point();
|
||||
if (g_head == g_apple)
|
||||
goto regenerate;
|
||||
for (auto point : g_tail)
|
||||
if (point == g_apple)
|
||||
goto regenerate;
|
||||
for (;;)
|
||||
{
|
||||
g_apple = get_random_point();
|
||||
if (g_head == g_apple)
|
||||
continue;
|
||||
for (auto point : g_tail)
|
||||
if (point == g_apple)
|
||||
continue;
|
||||
break;
|
||||
}
|
||||
set_grid_tile(g_apple, "\e[31mO");
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue