c现代编程 模拟投掷骰子的游戏

c现代编程 模拟投掷骰子的游戏

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N  6
int roll_dice(void);
int play_game(void);
int response(void);
int main()
{
   int c,m=0,n=0;
      srand((unsigned) time(NULL));
   while(1)
   {
       c=play_game();
       if(c==1)
       {
           m++;
           printf("You win!\n");
           printf("\n\nPaly again?");
           if(response())
           {
               fflush(stdin);            
           continue;
           }
           else 
           break;
       }
       else
       {
          n++;
          printf("You lose!\n");
          printf("\n\nPaly again?");
          if(response()) 
          {
           fflush(stdin);
           continue;
           }
           else 
           break;
       }
      
}
   printf("Wins:%d  Losses:%d",m,n);
   getch();

}
int response(void)
{    
     switch(getchar())
           {
               case 'Y':
               case 'y':return 1;
               case 'n':
               case 'N':
               case EOF :return 0;
           }
           
}
int  roll_dice(void)
{
    int  a,b,c;

    a=rand()%N+1;
    //printf("%d\n",a);
    b=rand()%N+1;
    c=a+b;
    return c;
}
int play_game(void)
{
   int d,e;
   d=roll_dice();
   if(d==7 || d==11)
    {
     printf("\nYour rolled:%d\n",d);
     return 1;
    }
   else if(d==2 ||d==3 || d==12)
   {
      printf("\nYour rolled:%d\n",d);
      return 0;
   }
   else
   {
       e=d;
       printf("\nYour rolled:%d\n",e);
       printf("Your point is %d\n",e);
       while(1)
       {
        d=roll_dice();
        printf("Your rolled:%d\n",d);
        if(e==d)
        return 1;
        else if(d==7)
        return 0;
        else
        continue;
       }
       }
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值