我正在用 C 提示符程序模拟电视游戏。玩家有 60 秒的时间来猜一个单词,当他找到它时,他必须按回车键才能得到一个新的单词:单词发生变化,单词数量和剩余时间升级。 因为“enter listener”部分是一个 getchar,所以我在猜测是否有可能在等待使用 getchar() 按下回车键的同时实时更新剩余时间。
while(1) {
system("clear"); //RAND WORD
parola = parole[rand() % n]; //PRINT WORDS, NEW WORD, SECONDS LEFT
printf("\n\n[%d]\t\t%s\t\t%d", indovinate, parola, secLeft);
gettimeofday(&initTime, NULL);
int initSec = initTime.tv_sec; //WAIT FOR PAYLER TO PRESS ENTER
getchar();
gettimeofday(&tookTime, NULL);
int tookSec = tookTime.tv_sec - initSec; //UPGRADE TIME TOOK
secLeft -= tookSec;
最佳答案
尝试kbhit()
,
它是 conio.h
库的一部分。
它基本上检查是否按下了一个键。如果不是,您可以更新时间。如果是,您可以输入答案。
if(kbhit()){
a = getch();
}
else{
//update time
}
你可能想使用getch()
,它不需要玩家按回车键。
可能有比 c 更好的方法来做到这一点。 (别问我,我不干这种事)
但如果这只是一个很酷的项目,那就继续吧。
关于c - getchar() 在用户写入时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56508358/