2010-02-06 43 views
1

我正在嘗試用我的手在C++中拋出一個較小的roguelike,但我遇到了一個問題 - 爲了讓遊戲正確顯示,控制檯窗口必須有點寬(大約45行, 115列)。通過右鍵單擊菜單欄併爲具有相同名稱的Windows設置默認值很容易,但是有沒有辦法可以從代碼中自動設置它,所以我不必要求潛在用戶惹惱?我使用Pdcurses處理輸出,如果有幫助的話。有沒有辦法強制控制檯應用程序以特定的窗口大小運行(使用Pdcurses)?

回答

1

IIRC,這可以在啓動遊戲的快捷方式中設置,但它不是文本,我不知道用哪個庫或Windows API修改它。這可能比嘗試使用pdcurses更簡單。

但是,別忘了Windows有幾個控制檯API。從MSDN中的AllocConsole開始獲取概覽信息,或直接跳至SetConsoleWindowInfo

1

這是一個非常古老的問題,但無論如何,我會發表我的答案的情況下,它可以幫助別人的未來。 這是我在MS Windows中使用:

int err = system("mode con lines=45 cols=115"); 

我我直接調用initscr();前使用此功能,它就像一個魅力。 這顯然不是非常便攜的,但是如果你正在開發的是Windows,它就會訣竅。

0
/* Resize the terminal to something larger than the physical screen */ 
    resize_term(2000, 2000); 

    /* Get the largest physical screen dimensions */ 
    getmaxyx(_window, _rows, _cols); 

    /* Resize so it fits */ 
    resize_term(_rows - 1, _cols - 1); 

    /* Get the screen dimensions that fit */ 
    getmaxyx(_window, _rows, _cols); 
相關問題