我正在使用 ncurses 在 c 上创建游戏,但是我根据游戏设置(LINES AND COLS)创建的窗口太小,很难看到游戏中发生了什么。 有什么方法可以增加窗口的大小(不改变 LINES 和 COLS)以使窗口更明显并允许用户看到游戏中发生了什么?
代码:
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);
}
最佳答案
您可以为使用这些调用绘制的文本使用粗体或反转(或什至其他颜色)等视频高亮显示:
mvwaddch(game_win, i, j, '.');
最后一个参数不只是一个字符,它可以有与之组合的标志,例如,
mvwaddch(game_win, i, j, '.' | A_REVERSE | A_BOLD);
关于c - Ncurses 窗口缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47848401/