Ncurses窗口缩放

时间:2017-12-16 17:47:13

标签: c linux ncurses

我使用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);
}

1 个答案:

答案 0 :(得分:0)

您可以对使用这些调用绘制的文本使用粗体或反转(甚至其他颜色)等视频突出显示:

            mvwaddch(game_win, i, j, '.');

最后一个参数不仅仅是字符,它可以有标志与之结合,例如,

            mvwaddch(game_win, i, j, '.' | A_REVERSE | A_BOLD);