Ncurses窗口缩放

问题描述 投票:0回答:1

我使用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);
}
c linux ncurses
1个回答
0
投票

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

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

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

            mvwaddch(game_win, i, j, '.' | A_REVERSE | A_BOLD);
© www.soinside.com 2019 - 2024. All rights reserved.