使用ncurses的c++中的移动绑定
movement binding in c++ using ncurses
我无法让这个移动绑定工作。我使用的是ncurses库,update_ch和oldch是全局变量。KEYERR是一个设置为-120的宏(我只是不处理那些按键)。我试图限制球员,让他不能向上、向下、向左或向右移动,但他必须不断地压迫他们才能移动。它不起作用,你仍然可以按住键移动。有什么建议吗?我的逻辑一定错了。
if(update_ch != KEYERR)
{
oldch = update_ch;
}
update_ch = getch();
if(oldch == update_ch)
{
update_ch = KEYERR;
}
我想限制球员他不能向上、向下、向左或是的,但他必须继续施压他们移动。
我敢肯定这是不可能的诅咒。如果我没记错的话,curses只接收来自终端的字符。它对这个过程没有任何控制。
如果用户拿着一个键而不是连续按下,测量从两个读数之间的时间可能会给你一个提示。我的意思是,当你阅读时,记录以下
- 密钥读取
- 读取时间(毫秒精度)
当您读取一个值时,询问以下内容:
- 它和最后一把钥匙一样吗
- 当前时间和上次阅读的时间有什么区别
如果是同一把钥匙,并且时间差小于某个阈值,你可以判断他是在按住钥匙。
相关文章:
- 我想将一个对T类型的非常量左值引用绑定到一个T类型的临时值
- 在基于范围的for循环中使用结构化绑定声明
- 使用 LuaBridge 将 LuaJIT 绑定到C++会导致"PANIC: unprotected error"
- 尝试通过OCI例程从Oracle获取blob数据,但出现错误:ORA-01008:并非所有变量都绑定
- 在使用GPU支持编译Tensorflow时,会遇到CUDA_TOOLKIT_PATH未绑定变量
- 视觉studo 2019中的漫画和静态/动态绑定
- 将自由函数绑定为类成员函数
- 将常量指针引用绑定到非常量指针
- 在派生类中绑定非静态模板化成员函数
- 绑定派生类方法C++从实例范围之外的分隔 std::function 变量调用
- 在 openGL 中多次绑定缓冲区
- 定义有趣的宏和正则表达式在Z3 C++绑定
- 为什么结构化绑定禁用RVO和移动返回语句
- 引用绑定和复制构造函数/移动构造函数
- 移动具有动态绑定的类的分配运算符
- Rvalue绑定和移动的组合
- 如果右值没有绑定到const引用,这将如何影响移动语义和完美转发
- 将左值绑定到右值引用,移动变量和函数返回
- C++11编译器何时会使RVO和NRVO优于移动语义和常量引用绑定
- 使用ncurses的c++中的移动绑定