C语言实现 掷骰子游戏

掷骰子游戏

1.案例描述

规则:一盘游戏中,两人轮流掷骰子5次,并将每次掷的点数累加,5局之后,累计点数较大者获胜,点数相同则为平局。案例要求通过编程算出50盘之后的胜利者(50盘中赢的盘数最多的,即最终胜利者。)

2.案例设计

1.创建一个存放角色信息的结构体,用于储存每局获得的分数和获胜的次数
2.每个角色轮流生成5个随机数,统计随机数的和,和最大的赢得此局胜利
3.统计50次比赛后的结果,获胜次数最多者是最总胜利者
4.输出结果

3.代码实现

#include<stdio.h>
#include<stdlib.h>
#include <time.h>
	struct Player{
	//创建角色属性
	char name[10];
	int mark;//局的分数 
	int count;//获胜次数 
}A={"A",0,0},B={"B",0,0};//初始化角色
int main(){
 

	int throw_(int times,char *p );
 
	 

	int n;
	//开始比赛 
	//#include <time.h>,用于刷新随机数 
		srand((unsigned)time(NULL));
	for(n=0;n<50;n++){
	
		printf("第%d局开始\n",n);
		A.mark=throw_(5,A.name);
		B.mark=throw_(5,B.name);
		if(A.mark<B.mark)
		{
			printf("B获胜\n");
			B.count++; 
		}else if(A.mark>B.mark){
			printf("A获胜\n");
			A.count++;
		}else{
			printf("平局\n");
		}		
	}
	//输出比赛结果
 	printf("A共获胜%d局,B共获胜%d局\n",A.count,B.count); 
 	if(A.count!=B.count)//赢得局数多则为最终胜利者 
		printf(A.count>B.count?"A获胜":"B获胜");
	else
		printf("平局");
	
	return 0;
}

	int throw_(int times,char *p ){
		int t,temp,sum=0;
	//扔出times次骰子,输出结果并统计分数 
	printf("%s的五次得分为:",p); 
	for(t=0;t<times;t++){
		temp = rand()%6+1;
		printf("%d,",temp);
		sum +=temp; 
	}
	printf("%s共获得%d分:\n",A,sum);
	return sum;	
	}

4.运行结果

在这里插入图片描述

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值