编写函数模拟掷骰子的游戏(两个骰子)。第一次掷的时候,如果点数之和为7或11则获胜;如果点数之和为2、3或12则落败;其他情况下的点数之和称为“目标”,游戏继续。在后续的投掷中,如果玩家再次掷出“目标

编写函数模拟掷骰子的游戏(两个骰子)。第一次掷的时候,如果点数之和为7或11则获胜;如果点数之和为2、3或12则落败;其他情况下的点数之和称为“目标”,游戏继续。在后续的投掷中,如果玩家再次掷出“目标”点数则获胜,掷出7则落败,其他情况都忽略,游戏继续进行。每局游戏结束时,程序询问用户是否再玩一次,如果用户输入的回答不是y或Y,程序会显示胜败的次数然后终止。
#include"stdio.h"
#include"stdlib.h"
#include"time.h"


int roll_dice()
{
	int n1,n2;

	srand(time(0));

	n1=rand()%6+1;
	n2=rand()%6+1;
	printf("You rolled:%d\n",n1+n2);
	return n1+n2;
}

int lose=0,win=0;

int play_game()
{
	int n,m,flag=1;

	m=roll_dice();
	

	if(m==7 || m==11)
	{
		win++;
	}
		else
		if(m==2 || m==3 || m==12)
		{
			lose++;
		}else
			printf("Your point is %d\n",m);
	

	while(flag)
	{
		n=roll_dice();
		if(n==7)
		{
			printf("You lose!\n");
			lose++;
			flag=0;
		}
			else
				if(n==m
					)
				{
					printf("You win!\n");	
					win++;
					flag=0;
				}
					else
					{
					flag=0;
					printf("You roll :%d\n",n);
					}
	}
	return 0;
}



int main()
{

	char ch='y';
	while(ch=='y' ||ch=='Y')
	{
		play_game();
		printf("Play again?\n");
		
		ch=getchar();
		getchar();
	}
	printf("Wins=%d;Loses=%d\n",win,lose);
	
	return 0;
}

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页