cc에서 ncurses를 사용하여 게임을 만들었지 만, 게임 설정 (LINES AND COLS)을 기반으로 만든 창은 너무 작아서 게임에서 무슨 일이 일어나고 있는지보기가 어렵습니다. 창을 더 잘 보이게하고 사용자가 게임의 진행 상황을 볼 수 있도록 창의 크기를 늘릴 수있는 방법이 있습니다 (선과 목줄을 바꾸지 않고)?Ncurses window zoom
코드 : 당신은 굵게 비디오 하이라이트를 사용하거나 이러한 호출 사용하여 그린 텍스트 역 (또는 다른 색상) 수
void drawGame(RESPONSE resp) {
int i, j;
WINDOW *game_win;
init_pair(2, COLOR_WHITE, COLOR_GREEN);
game_win = newwin(resp.width, resp.height, 1, 1);
wbkgd(game_win, COLOR_PAIR(2));
keypad(game_win, TRUE);
noecho();
curs_set(FALSE);
for (int i = 0; i < resp.width; ++i) {
for (int j = 0; j < resp.height; ++j) {
if (resp.maze[i][j].type == indestrutiveBlock)
mvwaddch(game_win, i, j, '#');
if (resp.maze[i][j].type == destrutiveBlock)
mvwaddch(game_win, i, j, '*');
if (resp.maze[i][j].type == object)
mvwaddch(game_win, i, j, '@');
if (resp.maze[i][j].type == enemy)
mvwaddch(game_win, i, j, 'e');
if (resp.maze[i][j].type == emptyBlock)
mvwaddch(game_win, i, j, '.');
}
}
wrefresh(game_win);
}
인 대부분의 OS에서는 콘솔 글꼴 크기를 원하는대로 설정하는 것은 사용자의 몫입니다. 그것은 ncurses 목적 이상입니다. – usr2564301
'SIGWINCH'를 처리하고 싶을 수도 있습니다. [signal (7)] (http://man7.org/linux/man-pages/man7/signal.7.html) 및 [signal-safety (7)] (http://man7.org/linux/)를 읽으십시오. man-pages/man7/signal-safety.7.html) –
BTW에서는 게임을하기 위해 일부 GUI 사용을 고려할 것입니다. [libsdl] (https://www.libsdl.org/), [GTK] (http://gtk.org/) –