如何用CC++编写一个长尾词的来模拟投骰子游戏?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2212个文字,预计阅读时间需要9分钟。
我们将模拟一款非常流行的游戏——斗兽子。斗兽子的形象种类繁多,最常见的是使用两个六面骰子。在一些冒险游戏中,可能会用到以下五种骰子:4面、6面、8面、12面和20面。明显的古埃及人喜欢使用这些形状奇特的骰子。
我们将要模拟一个非常流行的游戏——掷骰子。
骰子的形式多种多样, 最普遍的是使用两个6面骰子。在一些冒险游戏中,会使用5种骰子:4面、6 面、8面、12面和20面。聪明的古希腊人证明了只有5种正多面体,它们的所 有面都具有相同的形状和大小。各种不同类型的骰子就是根据这些正多面体 发展而来。也可以做成其他面数的,但是其所有的面不会都相等,因此各个 面朝上的几率就不同。
计算机计算不用考虑几何的限制,所以可以设计任意面数的电子骰子。 我们先从6面开始。
我们想获得1~6的随机数。然而,rand()生成的随机数在0~ RAND_MAX之间。RAND_MAX被定义在stdlib.h中,其值通常是 INT_MAX。因此,需要进行一些调整,方法如下。
1.把随机数求模6,获得的整数在0~5之间。
2.结果加1,新值在1~6之间。
3.为方便以后扩展,把第1步中的数字6替换成骰子面数。
下面的代码实现了这3个步骤:
#include <stdlib.h> /* 提供rand()的原型 */ int rollem(int sides) { int roll; roll = rand() % sides + 1; return roll; }
我们还想用一个函数提示用户选择任意面数的骰子,并返回点数总和。
本文共计2212个文字,预计阅读时间需要9分钟。
我们将模拟一款非常流行的游戏——斗兽子。斗兽子的形象种类繁多,最常见的是使用两个六面骰子。在一些冒险游戏中,可能会用到以下五种骰子:4面、6面、8面、12面和20面。明显的古埃及人喜欢使用这些形状奇特的骰子。
我们将要模拟一个非常流行的游戏——掷骰子。
骰子的形式多种多样, 最普遍的是使用两个6面骰子。在一些冒险游戏中,会使用5种骰子:4面、6 面、8面、12面和20面。聪明的古希腊人证明了只有5种正多面体,它们的所 有面都具有相同的形状和大小。各种不同类型的骰子就是根据这些正多面体 发展而来。也可以做成其他面数的,但是其所有的面不会都相等,因此各个 面朝上的几率就不同。
计算机计算不用考虑几何的限制,所以可以设计任意面数的电子骰子。 我们先从6面开始。
我们想获得1~6的随机数。然而,rand()生成的随机数在0~ RAND_MAX之间。RAND_MAX被定义在stdlib.h中,其值通常是 INT_MAX。因此,需要进行一些调整,方法如下。
1.把随机数求模6,获得的整数在0~5之间。
2.结果加1,新值在1~6之间。
3.为方便以后扩展,把第1步中的数字6替换成骰子面数。
下面的代码实现了这3个步骤:
#include <stdlib.h> /* 提供rand()的原型 */ int rollem(int sides) { int roll; roll = rand() % sides + 1; return roll; }
我们还想用一个函数提示用户选择任意面数的骰子,并返回点数总和。

