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