重学C++ 机会游戏,引入枚举

#include <iostream>
using std::cout;
using std::endl;

#include <cstdlib>
using std::rand;
using std::srand;

#include <ctime>
using std::time;

int rollDice();

int main()
{
	enum Status{CONTINUE,WON,LOST};

	int myPoint;
	Status gameStatus;

	srand(time(0));

	int sumOfDice=rollDice();
	switch(sumOfDice)
	{
	case 7:
	case 11:
		gameStatus=WON;
		break;
	case 2:
	case 3:
	case 12:
		gameStatus=LOST;
		break;
	default:
		gameStatus=CONTINUE;
		myPoint=sumOfDice;
		cout<<"Point is "<<myPoint<<endl;
		break;
	}
	
	while(gameStatus==CONTINUE)
	{
		sumOfDice=rollDice();
		if(sumOfDice==myPoint)
		{
			gameStatus=WON;
		}
		else
		{
			if(sumOfDice==7)
				gameStatus=LOST;
		}
	}

	if(gameStatus==WON)
	{
		cout<<"Player wins"<<endl;
	}
	else
	{
		cout<<"Player loses"<<endl;
	}
	return 0;
}

int rollDice()
{
	int die1=1+rand()%6;
	int die2=1+rand()%6;

	int sum=die1+die2;
	cout<<"Player rolled"<<die1<<" + "<<die2
		<<" = "<<sum<<endl;
	return sum;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值