我试图创建类似于“迷失在迁移中”的东西作为我的决赛项目,但我在随机化和计时器方面遇到了麻烦
我如何在彼此独立的情况下运行两个
计时器不应该消失,并且必须一直运行到时间到,必须独立运行
随机化不得影响计时器
输入方向键的错误不显示结果
while (timer) 一次并转到 do while (randomization) 并将继续循环“randomize”并且不会回到 while (timer)
while (timer) 受到影响 bu getch() 和 getche() 暂停它
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<windows.h>
#include<time.h>
//******************************************//
// DEFAULT BUILT-IN CLOCK //
//******************************************//
void Wait(int seconds)
{
clock_t end wait;
endwait = clock () + seconds * CLK_TCK;
while (clock() < end wait) {}
}
//***********************************************************//
// DIRECTIONAL KEYS //
//***********************************************************//
#define LEFT 75
#define RIGHT 77
#define UP 72
#define DOWN 80
int rdtsc()
{
as m volatile("rdtsc");
}
int main()
{
char ans;
int image;
int loop=1;
int correct=0, total=0;
int sec=0, min=0;
//***********************************************************//
// TIMER //
//***********************************************************//
int x=1;
while(1==1)
{
Wait(1);
sec++;
if(sec==46)
{
loop=0;
}
printf("%i:%i\n\n", min, sec);
//***********************************************************//
// RANDOMIZED IMAGES //
//***********************************************************//
fflush(st din);
srand(rdtsc());
image=rand()%4;
do
{
if(image==0)
{
printf(">>IMAGE 1 CORRECT LEFT<<");
ans=getche();
if(ans==LEFT)
{
printf("\n\ncorrect!");
}
else
if(ans!=LEFT)
{
printf("\n\nwrong!");
}
}
else
if(image==1)
{
printf(">>IMAGE 2 CORRECT UP<<");
ans=getche();
if(ans==UP)
{
printf("\n\ncorrect!");
}
else
if(ans!=UP)
{
printf("\n\nwrong!");
}
}
else
if(image==2)
{
printf(">>IMAGE 3 CORRECT DOWN<<");
ans=getche();
if(ans==DOWN)
{
printf("\n\ncorrect!");
}
else
if(ans!=DOWN)
{
printf("\n\nwrong!");
}
}
else
if(image==3)
{
printf(">>IMAGE 4 CORRECT RIGHT<<");
ans=getche();
if(ans==RIGHT)
{
printf("\n\ncorrect!");
}
else
if(ans!=RIGHT)
{
printf("\n\nwrong!");
}
}
getch();
system("cls");
}
while(loop==1);
}
getch();
}