给你稍微改了一些
测试完美
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#include<time.h>
int l;
int qk;
void gotoxy(int x,int y) //因为VC中没有gotoxy这个命令,所以定义一个子程序来代替他
{
COORD coord;
coord.X=x;
coord.Y=y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);
}
int stars()
{
int i;
int j;
int k;
srand((unsigned)GetTickCount());
k=rand()%30+1;//此处无bug 取的是1-30中的随机数
for(l=0;l<k;l++)
{
srand((unsigned)GetTickCount());
i=rand()%80;//定义随机数//windows控制台通常是80列*25行,你随机数取的有问题
Sleep(1);//这样取随机数比原来的更无规律
srand((unsigned)GetTickCount());
j=rand()%25;//定义随机数
gotoxy(i,j);
printf("*");
Sleep(500);
system("cls");
}
printf("请输入看到了多少星星:");
scanf("%d",&qk);
if(qk == k)
{
printf("Bingo!答对了!\n");
Sleep(1000);
return 0;
}
else
{
printf("对不起,答错了.\n");
printf("正确答案是%d",k);//这里不要&
Sleep(3000);
return 0;
}
return 0;
}
int main()
{
int s;
printf("这是一个数星星的游戏。\n");
printf("请输入1进入游戏。\n");
scanf("%d",&s);
system("cls");
if(s == 1)
{
stars();
}
else
{
printf("输入错误!");
return 0;
}
return 0;
}
|