问题标签 [pdcurses]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1360 浏览

c++ - PDCurses TUI C++ Win32 控制台应用程序 - 访问冲突读取位置

我已经下载了 pdcurses源代码,并且能够成功地将 curses.h 包含在我的项目中,链接了预编译的库,一切都很好。

在试用了几个小时后,我在 demos 文件夹中看到了 tuidemo.c,将其编译为可执行文件,非常棒!正是我的项目所需要的。

现在的问题是它是一个 C 代码,我正在 VS c++ 2008 中开发一个 C++ 项目。

我需要的文件是 tui.c 和 tui.h​​ 如何在我的 C++ 代码中包含该 C 文件?我在这里看到了一些建议

但编译器对 100 条警告和错误不太满意。

我怎样才能继续包含/使用 TUI pdcurses 包含的内容!?

谢谢

编辑:

我添加了 extern "C" 语句,所以我的测试现在看起来像这样,但我得到了一些其他类型的错误

虽然它编译成功,但它在运行时抛出一个错误,这表明一个错误的指针:

在线

不知道从这里去哪里。再次感谢。

0 投票
4 回答
875 浏览

c++ - 神秘的海森堡?

所以我正在用传送和通常的老鼠制作一个蛇游戏。我有一个这样的循环运行:

上面代码的问题是displayInfo在分数更新之前被调用,所以在吃掉鼠标之后,用户必须等到循环再次运行才能看到他的分数更新。所以我把那一行代码移到函数的底部:

和传送停止工作!每当蛇到达传送点时,程序就会崩溃。并displayInfo使用以下代码:

其中printLine只有color_set,mvprintwrefresh(). 与传送无关。奇怪的。

所以我去了蛇功能,蛇从传送中获取下一个位置:

Whereteleports[overlap(next)]->teleportFrom(dir)返回蛇将被传送到的位置。为了了解它崩溃的原因(可能Teleport是在屏幕外返回某个位置?),我在上述行之前添加了以下 3 行:

问题消失了!

不仅如此,我还必须拥有这三行。如果我注释掉mvprintw(1, 0, "(%i, %i)", l.x, l.y);refresh();,或两者都注释掉,程序在到达传送点时会像以前一样崩溃。

关于可能导致这种行为的任何想法?

更新:我尝试删除所有警告(主要是关于比较有符号/无符号数字的警告),但到目前为止只剩下 1 个:

和代码:

我该怎么做才能解决此警告?

0 投票
2 回答
609 浏览

c++ - PDcurses 显示问号代替预期字符

我在 PDcurses 显示一些符号时遇到了问题?而不是正确的字符。我做了一个小测试程序来显示代码页 437 以确定哪些符号正在工作,哪些没有。

奇怪的是,当我关闭 PDcurses 时,问题符号正确显示。

问题符号是ÇéâäàåçêëèïîÄæÆôöòûùÿÖÜ¢£₧ƒ</p>

这是没有 PDcurses 的源代码:

这是 PDcurses 的源代码:

我正在运行 Windows XP Service Pack 3 并使用 Microsoft Visual C++ 2010 Express

0 投票
3 回答
514 浏览

arrays - pdCURSES 和 addstr 与字符串的兼容性问题

嘿,所以我试图让 pdCurses 中的 addstr() 与首选字符串类一起工作(windows curses),所以我将该函数设为以下 string_to_80char() 函数,该函数应该接受一个字符串并返回一个 80 字符长的字符数组(控制台中一行的字符数),因为这是 addstr 似乎接受的唯一参数...

但是,当运行以下代码时,我确实打印了“只是一个字符串”,但后面有一个随机字符,如“@”或“4”,比如 50 个空格......

有什么问题??谢谢您的帮助!=)

0 投票
2 回答
1488 浏览

text - 如何制作使用 pdCurses 可移植的控制台 C++ 文本游戏

嘿,所以我使用 pdCurses 库和微软操作系统工具制作了一个文本游戏,我想让它在任何计算机上运行。这是我的包括:

myStopwath/Math.h 包括:

我需要像大多数可下载程序一样制作某种安装向导吗?我可以简单地将 dll、libs 和 headers 放在一个文件夹中吗?或者这样一个小程序有更简单的方法吗?谢谢!=)

顺便说一句:我想做的就是向某人展示我在另一台计算机上的游戏,而不是仅链接到这台计算机和 msVS++

0 投票
1 回答
576 浏览

c++ - 在 PDCurses 中设置整个窗口的背景颜色

wattron并且颜色对仅在窗口内打印时设置文本的背景颜色。设置整个窗口的背景颜色而不用空格(即标题或状态栏)填充它的最佳方法是什么?

0 投票
1 回答
400 浏览

.net - 使用 NUnit 和控制台进行单元测试

我一直在玩 curses sharp 库(用于 pdcurses 的 ac# 包装器),编写了一些单元测试代码来了解 api 及其工作原理,我提出了一个问题。

我可以使用以下代码从 DLL 中快速运行 curses(以便 nUnit 可以测试它):

AllocConsole 和 FreeConsole 是从 kernel32 导入的 extern。

我想做的是能够将控制台输出从位置 4,6 读取到字符串,以便以编程方式检查我输入的字符串是否已正确输出。例如,为了使用 TDD 创建一个 curses 风格的应用程序,能够进行这样的检查是非常重要的。

我查看了 Curses 和 Stdscr 对象(都是 Curses Sharp 对象)和 Console 对象(来自 windows 库),但还没有找到方法。有没有人有任何想法?

0 投票
2 回答
2100 浏览

c++ - 如何在其他计算机上运行使用 PDCurses 的 C++ 程序?

我最近开始在我正在开发的 C++ 游戏中使用 PDCurses。当我在自己的机器(Windows)上编译程序并运行 .exe 时,一切正常。

当我将该 .exe 放到另一台没有 PDCurses 的计算机上并尝试运行它时,我收到有关缺少 pdcurses.dll 文件的错误消息。

在网上做了一些研究后,我发现包含 .dll 文件和 .exe 应该可以让它运行,但它对我不起作用。

这就是我使用 MinGW 编译程序的方式:g++ game.cpp -o game -lpdcurses

所以我的问题是,如何让这个程序在没有设置 PDCurses 的计算机上运行,​​还有,有没有办法通过将 .exe 与系统需要运行的任何附加文件组合来做到这一点程序?我还读到您可以进行某种静态链接,但到目前为止我一直无法找到一种方法来做到这一点。

在此先感谢您的帮助。

注意:如果重要,我会按照本教程设置 PDCurses:http ://comptb.cects.com/1848-adding-pdcurses-to-mingw 不确定这是否是最好的方法,但我能够在我的计算机上编译和运行使用 pdcurses 的 C++ 代码很好。


很抱歉没有发布确切的消息。他们来了:

当我没有将 pdcurses.dll 文件与可执行文件一起包含时,我得到的第一个说:

程序无法启动,因为您的计算机缺少 pdcurses.dll。尝试重新安装程序以解决此问题。

包含 pdcurses.dll 后得到的第二个:

*程序无法启动,因为您的计算机中缺少 libcc_s_dw2-1.dll。尝试重新安装程序以解决此问题。*

0 投票
1 回答
826 浏览

cygwin - 为 Cygwin 安装 PDCurses

我一直在寻找解决方案来做到这一点,但仍然不确定。你如何在 cygwin 中安装 PDCurses 库。我有压缩包,我只是不知道在哪里放置文件。有没有办法做到这一点?

提前致谢

编辑:如果 ncurses 本身会更好,我将如何使用 cygwin 安装它。无论哪个有效。基本上我将如何在 Windows 中获得类似功能的 ncurses。

0 投票
0 回答
207 浏览

c++ - 在 PDCurses 中禁用 Windows Alt 代码

我正在使用 PDCurses,并注意到该库专门定义了 Alt-Numpad 按钮。然而,在实现这些按钮时,我发现在使用 时getch(),一旦您释放 Alt 键,它就会输入您输入的 Alt 代码。有什么方法可以禁用此功能或使用某种解决方法?