我有一些关于“刽子手”游戏的作业,最初我需要在控制台上显示规则仅5秒钟,之后它必须消失并且游戏将开始。我怎样才能在C中实现这个目标?
例如:
“你只能尝试5次”
5秒后,这应该消失,游戏将开始。
我正在使用DEV-C控制台并研究了time.h库,但我最关注的部分是如何使文本消失。
答案 0 :(得分:3)
如果您在5秒钟内不需要做任何事情,可以使用sleep
执行此类操作:
int main()
{
printf("You can only try 5 times");
sleep(5);
// Start game
return 0;
}
对于您在评论中提到的消失文本,您可以使用回车\r
:
printf("\rI will overwrite the previous text!");
但这只适用于使用比已经打印的字符串更长的字符串覆盖的情况。你可以先打印一个空行来“擦除”它以解决这个问题。
最后,由于大多数输出流都是缓冲的,因此如果没有换行\n
字符,您的文字可能无法打印,要解决此问题,您可以使用fflush(stdout)
,这样您的最终实现可能会像这样:
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("\rYou can only try 5 times");
fflush(stdout);
sleep(5);
printf("\r ");
fflush(stdout);
printf("\rThe game will now begin.");
fflush(stdout);
return 0;
}