|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 zlh 于 2015-11-19 18:20 编辑
二话不说先上程序
- #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)time(NULL));
- k=rand()%30+1;//bug处!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- for(l=0;l<k;l++)
- {
- srand((unsigned)time(NULL));
- i=rand()%60;//定义随机数
- srand((unsigned)time(NULL));
- j=rand()%60;//定义随机数
- 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;
- }
复制代码
一个数星星的游戏,但是k值定义出来的随机数有bug,
求解决
给你稍微改了一些
测试完美
- #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;
- }
复制代码
|
|