问题标签 [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.
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" 语句,所以我的测试现在看起来像这样,但我得到了一些其他类型的错误
虽然它编译成功,但它在运行时抛出一个错误,这表明一个错误的指针:
在线
不知道从这里去哪里。再次感谢。
c++ - 神秘的海森堡?
所以我正在用传送和通常的老鼠制作一个蛇游戏。我有一个这样的循环运行:
上面代码的问题是displayInfo
在分数更新之前被调用,所以在吃掉鼠标之后,用户必须等到循环再次运行才能看到他的分数更新。所以我把那一行代码移到函数的底部:
和传送停止工作!每当蛇到达传送点时,程序就会崩溃。并displayInfo
使用以下代码:
其中printLine
只有color_set
,mvprintw
和refresh()
. 与传送无关。奇怪的。
所以我去了蛇功能,蛇从传送中获取下一个位置:
Whereteleports[overlap(next)]->teleportFrom(dir)
返回蛇将被传送到的位置。为了了解它崩溃的原因(可能Teleport
是在屏幕外返回某个位置?),我在上述行之前添加了以下 3 行:
问题消失了!
不仅如此,我还必须拥有这三行。如果我注释掉mvprintw(1, 0, "(%i, %i)", l.x, l.y);
或refresh();
,或两者都注释掉,程序在到达传送点时会像以前一样崩溃。
关于可能导致这种行为的任何想法?
更新:我尝试删除所有警告(主要是关于比较有符号/无符号数字的警告),但到目前为止只剩下 1 个:
和代码:
我该怎么做才能解决此警告?
c++ - PDcurses 显示问号代替预期字符
我在 PDcurses 显示一些符号时遇到了问题?而不是正确的字符。我做了一个小测试程序来显示代码页 437 以确定哪些符号正在工作,哪些没有。
奇怪的是,当我关闭 PDcurses 时,问题符号正确显示。
问题符号是ÇéâäàåçêëèïîÄæÆôöòûùÿÖÜ¢£₧ƒ</p>
这是没有 PDcurses 的源代码:
这是 PDcurses 的源代码:
我正在运行 Windows XP Service Pack 3 并使用 Microsoft Visual C++ 2010 Express
arrays - pdCURSES 和 addstr 与字符串的兼容性问题
嘿,所以我试图让 pdCurses 中的 addstr() 与首选字符串类一起工作(windows curses),所以我将该函数设为以下 string_to_80char() 函数,该函数应该接受一个字符串并返回一个 80 字符长的字符数组(控制台中一行的字符数),因为这是 addstr 似乎接受的唯一参数...
但是,当运行以下代码时,我确实打印了“只是一个字符串”,但后面有一个随机字符,如“@”或“4”,比如 50 个空格......
有什么问题??谢谢您的帮助!=)
text - 如何制作使用 pdCurses 可移植的控制台 C++ 文本游戏
嘿,所以我使用 pdCurses 库和微软操作系统工具制作了一个文本游戏,我想让它在任何计算机上运行。这是我的包括:
myStopwath/Math.h 包括:
我需要像大多数可下载程序一样制作某种安装向导吗?我可以简单地将 dll、libs 和 headers 放在一个文件夹中吗?或者这样一个小程序有更简单的方法吗?谢谢!=)
顺便说一句:我想做的就是向某人展示我在另一台计算机上的游戏,而不是仅链接到这台计算机和 msVS++
c++ - 在 PDCurses 中设置整个窗口的背景颜色
wattron
并且颜色对仅在窗口内打印时设置文本的背景颜色。设置整个窗口的背景颜色而不用空格(即标题或状态栏)填充它的最佳方法是什么?
.net - 使用 NUnit 和控制台进行单元测试
我一直在玩 curses sharp 库(用于 pdcurses 的 ac# 包装器),编写了一些单元测试代码来了解 api 及其工作原理,我提出了一个问题。
我可以使用以下代码从 DLL 中快速运行 curses(以便 nUnit 可以测试它):
AllocConsole 和 FreeConsole 是从 kernel32 导入的 extern。
我想做的是能够将控制台输出从位置 4,6 读取到字符串,以便以编程方式检查我输入的字符串是否已正确输出。例如,为了使用 TDD 创建一个 curses 风格的应用程序,能够进行这样的检查是非常重要的。
我查看了 Curses 和 Stdscr 对象(都是 Curses Sharp 对象)和 Console 对象(来自 windows 库),但还没有找到方法。有没有人有任何想法?
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。尝试重新安装程序以解决此问题。*
cygwin - 为 Cygwin 安装 PDCurses
我一直在寻找解决方案来做到这一点,但仍然不确定。你如何在 cygwin 中安装 PDCurses 库。我有压缩包,我只是不知道在哪里放置文件。有没有办法做到这一点?
提前致谢
编辑:如果 ncurses 本身会更好,我将如何使用 cygwin 安装它。无论哪个有效。基本上我将如何在 Windows 中获得类似功能的 ncurses。
c++ - 在 PDCurses 中禁用 Windows Alt 代码
我正在使用 PDCurses,并注意到该库专门定义了 Alt-Numpad 按钮。然而,在实现这些按钮时,我发现在使用 时getch()
,一旦您释放 Alt 键,它就会输入您输入的 Alt 代码。有什么方法可以禁用此功能或使用某种解决方法?