gpt4 book ai didi

c++ - 在 ncurses 中使用数字键盘键

转载 作者:行者123 更新时间:2023-12-05 08:12:10 25 4
gpt4 key购买 nike

我正在使用 C++ 的 ncurses 库编写一个 roguelike 类游戏,并希望可以通过数字键盘控制角色。目前我正在使用以下方法:

case KEY_LEFT: 
//Code for left movement
case KEY_RIGHT:
//Code for right movement
...
//Numpad diagonals
case KEY_A1:
//Code for moving up and to the left
case KEY_A3:
//Code for moving up and to the right
...

KEY_A1KEY_A3KEY_C1KEY_C3 宏适用于对角线移动,但像 KEY_A2 不存在正交运动。无论 numlock 是否打开,箭头键的代码在这种情况下也不起作用。

如何使用 ncurses 获取数字键盘上 2、4、6 和 8 键的输入?或者,我是否错误地处理了这个问题,什么是更好的方法?

最佳答案

通过调用:

addch(inputChar);

我能够确定所有“标准”打字字符都只是它们的 ASCII 等价物,即:

'0', '1', '!', '@', 'a''b''A''B' 等...

Num Lock 打开时,Numpad 也是如此。或者,或者当 Num Lock 关闭时,您可以调用:

addstr((std::to_string((int)inputChar) + " ").c_str());

这将产生一个 ASCII #,您可以使用 #define 或类似的方式。

关于c++ - 在 ncurses 中使用数字键盘键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21566613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com