Ich benutze ncurses, um ein Spiel auf c zu erstellen, aber das Fenster, das ich basierend auf den Spieleinstellungen (LINES AND COLS) erstellt habe, ist zu klein und es ist schwer zu sehen, was im Spiel passiert. Gibt es eine Möglichkeit, die Größe des Fensters zu erhöhen (ohne die LINES und COLS zu ändern), um das Fenster besser sichtbar zu machen und den Benutzern zu ermöglichen, zu sehen, was im Spiel passiert?Ncurses Fenster zoom
Code:
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);
}
In Bei den meisten Betriebssystemen ist es dem Benutzer überlassen, die Schriftgröße der Konsole nach seinen Wünschen einzustellen. Es ist jenseits von Ncurses-Zwecken. – usr2564301
Sie könnten 'SIGWINCH' behandeln. Lesen Sie [Signal (7)] (http://man7.org/linux/man-pages/man7/signal.7.html) & [Signal-Sicherheit (7)] (http://man7.org/linux/ man-pages/man7/signal-safety.7.html) –
BTW, für ein Spiel würde ich über eine GUI, z [libsdl] (https://www.libsdl.org/), [GTK] (http://gtk.org/) –