2017-12-16 21 views
0

ccでゲームを作成するのにncursesを使用していますが、ゲーム設定(LINES AND COLS)に基づいて作成したウィンドウは小さすぎて、ゲームで何が起きているのか分かりません。 ウィンドウをもっと見やすくし、ユーザーがゲームの進行状況を見ることができるように、ウィンドウのサイズを大きくする方法はありますか(線とコインを変更せずに)?Ncursesウィンドウズーム

コード:

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

ほとんどのOSでは、好みに合わせてコンソールのフォントサイズを設定するのはユーザーの責任です。それはncursesの目的を超えています。 – usr2564301

+0

'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) –

+0

ところで、ゲームの場合、私はいくつかのGUIの使用を検討します。 [libsdl](https://www.libsdl.org/)、[GTK](http://gtk.org/) –

答えて

0

あなたはこれらの呼び出しを使用して描かれたテキストのために、このような大胆な、または逆方向(あるいは他の色)などのビデオハイライトを使用することができます。最後のパラメータは、よりであることを

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

文字よりも、フラグを組み合わせて使用​​することができます。たとえば、

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

ハイライトは少し助けになりましたが、ズームのようにする方法がない私の悪い英語のために申し訳ありません:D – Kelve

+0

- それを行う方法はありません。だから我々はビデオのハイライトを持っている:-) –