1

我正在尝试在 C++ 中拼凑一个小的 roguelike,但我遇到了一个问题 - 为了让游戏正确显示,控制台窗口必须有点宽(大约 45 行,115 列)。通过右键单击菜单栏并为具有相同名称的窗口设置默认值很容易进行更改,但是有没有一种方法可以从代码中自动设置它,这样我就不必让潜在用户搞砸了? 我正在使用 Pdcurses 来处理输出,如果这有帮助的话。

4

4 回答 4

1

这是一个非常古老的问题,但无论如何我都会发布我的答案,以防将来对某人有所帮助。这是我在 MS Windows 中使用的:

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

我在调用 之前直接使用initscr();它,它就像一个魅力。显然,这不是很便携,但如果您在 Windows 上进行开发,它就可以解决问题。

于 2013-05-17T19:57:06.590 回答
1

IIRC,这可以在启动游戏的快捷方式中设置,但它不是文本,我不知道使用哪些库或 Windows API 来修改它。这可能比尝试使用 pdcurses 更简单。

但是,不要忘记 Windows 确实有几个控制台 API。从 MSDN 中的AllocConsole开始了解概述,或直接跳到SetConsoleWindowInfo

于 2010-02-06T21:16:34.440 回答
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);
于 2013-10-05T20:40:53.273 回答
0

什么操作系统?(因为它是特定于操作系统的)

在 Windows中的 SetConsoleWindowInfo()

于 2010-02-06T21:18:22.433 回答