问题标签 [getch]

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 回答
1425 浏览

c++ - 如何让程序只注册一个带有 getch 或不同功能的按键?

我想使用 getch() 或类似的东西在 while() 函数中注册击键。

如果我按住一个键,该功能将继续显示该键一段时间。我将使用类似的代码来实现蠕虫游戏的移动。如果一个键不被按下,蠕虫将继续朝着它所面对的方向前进(但我不需要帮助,我已经把它整理好了)。

我只需要知道如何在一段时间内仅注册 1 个按键。使用代码块。

0 投票
2 回答
239 浏览

c++ - 如果在设定的时间内没有键盘输入,则跳过需要输入

我正在尝试获得键盘输入,但如果它在大约半秒内没有发生,我希望它继续循环的其余部分。我尝试使用 kbhit(); 但它不会等待输入,它只是不停地循环。这是有问题的循环:

所有帮助将不胜感激。我试图避免使用警报();

0 投票
3 回答
66 浏览

c - 没有正确完成 if 语句

我希望这段代码:

这是我当前的代码,问题是它根本不会接受输入,如果接受,它不会使用它来确定之后会发生什么。

0 投票
5 回答
1414 浏览

c++ - 从 getchar 读取输入

每当我必须以这种方式使用 getchar 时,它也接受 enter 作为输入之一,因此我只能输入三个字符而不是 6 个字符。为什么 getchar 将 enter 作为输入之一?如何避免这种情况?

输入:

在此循环中断后,因为按下的三个返回被视为 temp[1]、temp[3] 和 temp[5] 的三个输入。

0 投票
2 回答
90 浏览

c - +对比?

我想知道最终用户按下了什么,所以我使用了getch().

如果用户按下Right,我可以得到0xE0 0x4D

如果用户按下Ctrl+ Right,我可以获得0xE0 0x47.

如果用户按下Shift+ Right,我可以获得0xE0 0x4D.

RightShift+ Rightfrom的返回getch()是一样的,我怎么知道最终用户按下了什么?

0 投票
1 回答
1780 浏览

c - getch() 真正得到了什么?扫码?

我想得到扫描码。

这是来自维基百科的描述:

当我按下Del时,它显示 0xE0 0x53。

当我按下Ctrl+PgUp时,它显示 0xE0 0x86。

虽然有些与表格相同,但它显示的大多数值与它不同。

那么,getch()真的得到扫描码了吗?

下面是扫码表(设置2,最常用)

扫码

0 投票
1 回答
11991 浏览

python - (Python 初学者帮助) getch?

我正在制作游戏。我希望人们运行 main.py 然后他们会遇到一个带有选项的小菜单。Atm 我收到一个错误。

所以这里有3个文件:

主要.py:

和quests.py:

由于某些原因。他们的钥匙不起作用。这是我第一次使用 getch()。我有点明白,但不是真的。

[编辑]:哦,我还必须指出我使用的是 Python 3

0 投票
1 回答
279 浏览

c - 函数参数和 getch() 的奇怪行为

我在调用带有包含 getch() 的参数的函数时遇到了一些奇怪的行为。

以下面的代码为例:

当用这个代码按下一个键时,无论如何,它总是会打印'a',这是第一个函数的参数。问题是,“a”不是被调用的第二个函数的参数,但仍然打印“a”而不是“b”。为什么会出现这种情况?

0 投票
1 回答
365 浏览

c - 使用 getch() 重复密钥检查的问题

我在使用使用 getch() 的函数重复密钥检查时遇到问题。

这是一个代码示例:

我知道为什么会出现问题。当一个键被按下时,kbhit 每个循环一次为真,并将 ch 设置为从缓冲区中检索到的字符。使用 IsKeyDown 时,如果等于参数,则将缓冲区 g_keybuffer 中的键设置为零,以避免键无限“向下”。这样做的问题是,如果您想检查同一个键是否多次关闭,则只会运行 IsKeyDown 的第一个实例,其余的无效,因为键的 g_keybuffer 现在为 0。

有谁知道我如何更改 IsKeyDown 以使其能够在每次循环中多次检查相同的键?我被困住了。

0 投票
1 回答
1274 浏览

c++ - C ++区分按键与按键释放

我目前正在通过 getch() while 循环收听键盘输入,一切正常。但是,如果我按住左键并向上按,则左移会停止,直到我再次按下它。我能想到解决这个问题的唯一方法是知道一个键是否被持有/何时释放。我正在使用据说具有这种能力的 ncurses,但通过我的所有搜索,我没有发现任何有用的东西。

俄罗斯方块代码片段有问题: