跑马游戏

#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;
}

 

posted @ 2017-09-04 20:53  gd_沐辰  阅读(185)  评论(0编辑  收藏  举报