跑马游戏
#include <stdio.h> #include <time.h> #include <windows.h> //1.宏定义:作用在本文件中,经常用的数据定义为全局 #define LENGTH 60 //跑道长度 宏参 宏值 不用申请内存 #define HORSENUM 6 //赛马数量 #define MINSTEP 1 //最小的单步距离 #define MAXSTEP 10 //最大的单步距离 void Play(int s[]) { int rank = 1; //名次,初始化为1,因为最小的就是1 int dis[HORSENUM]={0}; //记录各匹赛马当前跑出的距离 int i,j; //循环变量 srand(time(NULL)); //随机种子,每次产生的随机数都不一样 while(rank<=HORSENUM)//当名次是1-6时都循环执行 { system("cls");//清空之前的跑步距离 printf("\n----------开始比赛------------\n"); for(i=0;i<HORSENUM;++i) { printf("%d号: ",i+1); dis[i]+=rand()% MAXSTEP+MINSTEP;//让马跑动一段距离从(0-9)+1 if(dis[i]>=LENGTH)//是否跑到终点 { dis[i]=LENGTH; if(s[i]==0)//标记为到了终点 s[i]=rank++;//将当前名次赋给该值,并自增名次值 } for(j=0;j<dis[i];++j)//打印赛马已跑出的距离 { printf("-"); } if(s[i]) printf(" %d\n",s[i]); else printf(">\n"); } Sleep(800);//延迟或睡眠800毫秒==0.8秒 } } int main() { int score[HORSENUM]={0};//保存各匹马的最终排名 Play(score); return 0; }