其他分享
首页 > 其他分享> > 香港跑马游戏实例( CSDN博客上迁移过来)

香港跑马游戏实例( CSDN博客上迁移过来)

作者:互联网

  1. /* ************************************************************************
  2. *       Filename:  main.c
  3. *    Description:  
  4. *        Version:  1.0
  5. *        Created:  2017年12月22日 22时25分52秒
  6. *       Revision:  none
  7. *       Compiler:  gcc
  8. *         Author:  YOUR NAME (),
  9. *        Company:  
  10. * ************************************************************************/
  11. **//香港跑马游戏实例**
  12. #include<stdio.h>
  13. #include<stdlib.h>
  14. #include<time.h>
  15. //宏定义 分别为 赛道长度 馬数目 最小单步 最大单步
  16. #define LENGTH 60
  17. #define HORSENUM 6
  18. #define MINSTEP 1
  19. #define MAXSTEP 10
  20. void play(int s[])
  21. {  
  22.    int i,j;
  23.    int rank=1;//名次循环使用的,中途记录名次,并初始化为1
  24.    int dis[HORSENUM]={0};//记录六匹马跑的距离
  25.    srand(time(0));//每次产生随机数 rand使用
  26.    while(rank<=HORSENUM)//名次循环,直到6匹马的全部名次出来才结束
  27.    {
  28.                printf("n-------比赛开始------n");
  29.        for(i=0;i<HORSENUM;i++)//6匹跑马循环
  30.        {
  31.                printf("%d号: ",i+1);//记录第一匹马到第六匹马
  32.                dis[i]+=rand()%MAXSTEP+MINSTEP;//跑马的距离自加,馬每次跑的距离0-9
  33.                //判断馬是否到终点,
  34.                if(dis[i]>=LENGTH)
  35.                {
  36.                    dis[i]=LENGTH;
  37.                    if(s[i]==0) //如果哪一匹馬到终点了,记录该匹马的名次
  38.                        s[i]=rank++;
  39.                }
  40.                for(j=0;j<dis[i];j++)//打印跑马每次跑的距离
  41.                    printf("-");
  42.                if(s[i])//如果哪匹马到终点了,s[i]不为0,则打印出名次
  43.                    printf("%dn",s[i]);
  44.                else
  45.                    printf(">n");
  46.        }
  47.    }
  48.    }
  49. int main()
  50. {
  51.    int s[HORSENUM] ={0};//记录6匹马的最终名次,并全部初始化为0
  52.    play(s);
  53.    return 0;
  54. }


标签:include,名次,int,实例,CSDN,printf,define,跑马,dis
来源: https://blog.51cto.com/u_13155846/2736898