Игра Snake не возрождается Apple после первой коллекции - PullRequest
0 голосов
/ 04 августа 2020

Пока я делал игру-змейку, когда я собираю яблоко, оно работает нормально, но сразу после этого оно не появляется должным образом, оно просто исчезает, как только я его соберу, что для меня не имеет никакого смысла . Я не знаю, проблема в моем logi c или проблема в печати. Приведенный ниже код содержит части, которые имеют дело с появлением яблока и случайным появлением яблока.

void DrawBoard() {
    system("cls");
    for (int i = 0; i < width + 1; i++) { printf("%c", 220); } printf("\n");

    for (int i = 0; i < height; i++) {
        for (int j = 0; j < width; j++) {
            if (j == 0) {
                printf("%c", 221);
            } else if (i == y && j == x) {
                printf("O"); // Snek
            } else if (i == appleY && j == appleX) {
                printf("F"); // Apple
            } else {
                printf(" ");
            }

            if (j == width - 1) { printf("%c", 222); }
        }
        printf("\n");
    }

    for (int i = 0; i < width + 1; i++) { printf("%c", 223); } printf("\n");
    printf("Score: %d", score);
}
void Logic() {
    switch(dir) {
        case UP:
            y--;
            break;
        case LEFT:
            x--;
            break;
        case DOWN:
            y++;
            break;
        case RIGHT:
            x++;
            break;
    }
    if (x > width - 1 || x < 1 || y > height - 1 || y < 0) { gameover = true; }
    if (x == appleX && y == appleY) {
        score += 10;
        appleX = rand() % 2;
        appleY = rand() % 2;
    }
}
int main() {
    Setup();
    while (!gameover) {
        DrawBoard();
        Movement();
        Logic();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...