c 语言掷骰子游戏,C 语言编程学习: 制作掷骰子小游戏

C 语言编程学习: 制作掷骰子小游戏

问题描述

骰子是一个有六个面的正方体, 每个面分别印有 16 之间的小圆点代表点数. 假设这个游戏的规则是: 两个人轮流掷骰子 6 次, 并将每次投掷的点数累加起来. 点数多者获胜; 点数相同则为平局.

要求编写程序模拟这个游戏的过程, 并求出玩 100 盘之后谁是最终的获胜者.

ab7653affab982b574eb7acc55df2e04.gif

小编推荐一个学 C 语言 / C++ 的学习裙[ 七三零, 一三零, 二二一 ] , 无论你是大牛还是小白, 是想转行还是想入行都可以来了解一起进步一起学习! 裙内有开发工具, 很多干货和技术资料分享!

程序思想:

由于每个人掷骰子所得到的点数是随机的, 所以需要借助随机数发生器, 每次产生一个 16 之间的整数, 以此模拟玩者掷骰子的点数.

要得到 6 个不同的随机值, 只需要调用 rand()函数, 并取 rand()函数除以 6 的余数即可, 即 rand()%6. 但这样得到的是在 05 之间的 6 个随机数, 再将其加 1, 即 rand()%6 1, 就可得到 16 之间的一个随机数.

为了计算在每盘中, 甲, 乙两人所掷的点数, 需要定义两个 int 型变量 d1,d2, 用于记录每个人投掷点数的累加器.

为了记录每个人的获胜盘数, 需要再定义两个 int 型变量 c1,c2, 用于记录每个人获胜的盘数.

下面是程序流程图:

ab7653affab982b574eb7acc55df2e04.gif

小编推荐一个学 C 语言 / C++ 的学习裙[ 七三零, 一三零, 二二一 ] , 无论你是大牛还是小白, 是想转行还是想入行都可以来了解一起进步一起学习! 裙内有开发工具, 很多干货和技术资料分享!

C 语言编程学习: 制作掷骰子小游戏源程序代码:#include

#include

#include

intmain()

{

intd1,d2,c1,c2,i,j;

c1=c2=0;/* 初始化 */

srand((unsigned)time(NULL));

rand();/* 初始化随机数产生器 */

for(i=1;i<=100;i++)

{/* 模拟游戏过程 */

d1=d2=0;

for(j=1;j<=6;j++)

{/* 两个人轮流掷骰子 */

d1=d1+rand()+1;

d2=d2+rand()+1;

}

if(d1>d2)

c1++;/* 累加获胜盘数 */

elseif(d1

c2++;

}

if(c1>c2)/* 输出最终获胜者信息 */

printf("The first win.");

else

if(c1

printf("The second win.");

else

printf("They tie.");

return0;

}

运行结果:

ab7653affab982b574eb7acc55df2e04.gif

小编推荐一个学 C 语言 / C++ 的学习裙[ 七三零, 一三零, 二二一 ] , 无论你是大牛还是小白, 是想转行还是想入行都可以来了解一起进步一起学习! 裙内有开发工具, 很多干货和技术资料分享!

这就是掷骰子游戏的运行结果了, 是不是有点惊讶, 它全部由电脑产生的随机数来判定, 有问题的可以评论喔.

这些是 C/C++ 能做的

来源: http://www.jianshu.com/p/6cd63963e428

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值