Some movements

fix-mingw
Nakidai 2023-12-09 00:49:36 +03:00
parent e2d01db144
commit cf71b4d57d
1 changed files with 9 additions and 7 deletions

View File

@ -32,29 +32,30 @@ Food generateFood(Player player)
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
srand((unsigned int)time(NULL)); srand((unsigned int)time(NULL));
Player player; playerCreate(&player, DOWN, DEFX, DEFY, 0); Player player; playerCreate(&player, DOWN, DEFX, DEFY, 0);
Screen screen; screenCreate(&screen, SIZE, SIZE, ' '); Screen screen; screenCreate(&screen, SIZE, SIZE, ' ');
int i; Food food = generateFood(player);
int head_x, head_y;
Food food = generateFood(player);
bool running = true;
int key = 0; int key = 0;
bool running = true;
bool stopped = false; bool stopped = false;
InputArgs input_args = (InputArgs){ &key, &running }; int head_x, head_y;
threadCreate(input, &input_args); threadCreate(input, &(InputArgs){ &key, &running });
while (running) while (running)
{ {
screenSet(screen, ' '); screenSet(screen, ' ');
drawPlayer(player, screen); drawPlayer(player, screen);
*screenGetPoint(screen, food.x, food.y) = '@'; *screenGetPoint(screen, food.x, food.y) = '@';
resetCoordinates(); resetCoordinates();
screenShow(screen); screenShow(screen);
for (i = 0; i < SIZE*2; ++i) putchar('-'); for (int i = 0; i < SIZE*2; ++i) putchar('-');
printf("\nScore: %d\n", player.score); printf("\nScore: %d\n", player.score);
sleepMS(SLEEP); sleepMS(SLEEP);
switch (key) switch (key)
{ {
case 'q': case 'q':
@ -78,6 +79,7 @@ int main(int argc, char **argv)
if (playerDoTick(&player, food) && player.score < SIZE*SIZE - 1) if (playerDoTick(&player, food) && player.score < SIZE*SIZE - 1)
food = generateFood(player); food = generateFood(player);
head_x = player.head->x; head_x = player.head->x;
head_y = player.head->y; head_y = player.head->y;
if (head_x >= SIZE || head_x < 0 || head_y >= SIZE || head_y < 0 || playerCheckSelfCollision(player)) if (head_x >= SIZE || head_x < 0 || head_y >= SIZE || head_y < 0 || playerCheckSelfCollision(player))