我有一个功能可以在按下某些键时执行其他功能。如果按下's',它将射击玩家。如果按下“h”,只会伤害玩家。问题在于选择 = getch(); 以下:
void* command(void* data)
{
choice = getch(); //This is where the problem begins...
cout << "Command Prompt\n\n"; //I must click enter twice to view this output. why is this???
while (health > 0)
{
if (choice == 's')
{
playershot();
}
if (choice == 'h')
{
playerharm();
}
}
}
执行此操作时,出于某种原因,控制台会等待我按两次 ENTER,然后才会输出 <<“命令提示符”;。只有在 2 个 ENTER 之后,我才会看到“命令提示符”输出。为什么 getch() 等待我输入我的字母和 2 个 ENTER ?无论我在哪里使用 getch() 这个函数,它都可以正常工作并且通常不需要我按 Enter 键。这段代码有什么问题,让我按两次 ENTER 最终进入“命令提示符”?谢谢。