9---8

这是一个简单的掷骰子游戏程序,玩家初始投掷两个骰子,如果点数之和为7或11则获胜,点数为2、3或12则失败。若点数为其他,则该点数成为玩家的点,之后玩家需要再次掷骰子,若点数等于先前的点则获胜,否则若点数为7则失败。玩家可以选择是否继续游戏,记录并显示赢和输的次数。
摘要由CSDN通过智能技术生成
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<stdbool.h>

int roll_dice(void);
bool play_game(void);

int main(void)
{
	int win = 0, lose = 0;
	bool first_game = true;
	
	while (1)
	{
		if (first_game==false)
		{
			char ch;
			printf("Play again? ");
			ch = getchar();
			if (ch != 'Y' && ch != 'y')
			{
				break;
			}
			ch = getchar();
		}
		
		bool game_return = play_game();
		if (game_return==true)
		{
			printf("You win!\n");
			win++;
		}
		else
		{
			printf("You lose!\n");
			lose++;
		}
		first_game = false;
	}

	printf("Wins: %d   Losses: %d\n", win, lose);
	
	return 0;
}

int roll_dice(void)
{
	int i = (rand() % 6) + 1;
	int j = (rand() % 6) + 1;
	return i + j;
}

bool play_game(void)
{
	int rolled = roll_dice();
	int point = rolled;

	srand((unsigned)time(NULL));

	printf("You rolled: %d\n", rolled);
	if (rolled == 7 || rolled == 11)
	{
		return true;
	}
	else if (rolled == 2 || rolled == 3 || rolled == 12)
	{
		return false;
	}

	printf("You point is : %d\n", point);
	while (1)
	{
		rolled = roll_dice();
		printf("Your rolled: %d\n", rolled);
		if (rolled == point)
		{
			return true;
		}
		else if (rolled == 7)
		{
			return false;
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值