我在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/