1
그래서 나는 ncurses로 만든 기본적인 "뱀"게임을 가지고 있습니다.배경색을 변경하면 프로그램이 버그를 일으 킵니까? (ncurses)
배경색을 변경하는
start_color();
init_color(COLOR_BLUE, 0, 0, 0);
init_pair(1, COLOR_WHITE, COLOR_BLUE);
bkgd(COLOR_PAIR(1));
추가, 프로그램은 무한 루프로 진행한다. 디버깅은 음식을 생성 할 때 프로그램이 중단되었다고 말했습니다. 이 코드입니다 : 임의의 장소가 비어있는 경우
void generate_food(food *food, int nrows, int ncols, snake *snake) {
srand(time(NULL));
int validLocation = 0;
do {
food->x = rand() % nrows;
food->y = rand() % ncols;
if (mvinch(food->x, food->y) == ' ')
validLocation = 1;
}
while (!validLocation);
move(food->x, food->y);
addch('*');
}
그것은 ('==') 확인하고두고 '때문에 경우에 *를 제공합니다.
bkgd를 변경할 때까지 완벽하게 작동합니다. 마치 창에 빈 공간이없는 것처럼 잠시 멈 춥니 다. 왜 그런가?