2012-12-30 73 views
0

我有一项家庭作业来创建游戏。所以我创建了一个产生随机数的游戏,显示它们,几秒钟后数字消失,用户必须按降序输入它们。游戏工作正常,所有的输出都是正确的......但问题是我创建了不同的函数来创建数字,排列它们,接受..并且每次函数调用时我都必须按几次Enter键。如何在不按下按钮的情况下调用某个功能

在没有按下任何键的情况下调用这些函数的方式是否可以使程序在没有按下回车键的情况下工作?

+2

显示一些代码。 –

+0

你制作了一款游戏?您希望与我们分享的任何示例代码?因为通过说你创造了一个游戏,你实际上并没有多说。 –

+0

我已将[tag:sleep]标记添加到您的问题中,您应该查看之前有关该标记的问题以获取一些线索 –

回答

0

Capture characters from standard input without waiting for enter to be pressed

即便携不可能在纯C++拉动,因为它取决于太多 中使用的终端,其可以与标准输入被连接上(它们是 通常行缓冲)。但是,您可以使用以下库:

  1. conio可用于Windows编译器。使用函数_getch()来给 提供一个字符而不用等待输入键。我不是 频繁的Windows开发者,但是我看到我的同学刚刚包含了 conio.h并使用它。请参阅wikipedia上的conio.h。它列出了getch,其中 已在Visual C++中声明为不赞成使用。
  2. curses可用于Linux,兼容的curses实现也可用于Windows的 。它也有一个getch函数。 (尝试用man getch查看其联机帮助页)。请参阅维基百科的Curses。

我会 建议你,如果你的目标是实现跨平台的兼容性 使用诅咒。这就是说,我敢肯定,你可以用 来关闭线路缓冲功能(我相信这就是所谓的“原始 模式”,而不是“熟化模式”(查看man stty))。如果我没有弄错,诅咒 会以便携的方式处理你。

相关问题