首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于概率生成“字符”

基于概率生成“字符”
EN

Stack Overflow用户
提问于 2011-12-01 22:01:24
回答 4查看 487关注 0票数 2

我在用C++编写的俄罗斯方块游戏中需要一点帮助,这是我的问题:

俄罗斯方块的列表有7种类型:{'I','J','L','S','Z','O','T'}

我需要选择上述字符中的一个,这样S和Z的选择概率分别为1/12,其他块的选择概率分别为1/6。

根据这些概率生成块的最佳方法是什么?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-12-01 22:04:52

如下所示创建一个数组:

代码语言:javascript
复制
const char* block_distribution = {'I', 'I', 'J', 'J', 'L', 'L', 'S', 
                                  'Z', 'O', 'O', 'T', 'T'};

然后使用均匀分布从该数组中选取一个元素。

票数 4
EN

Stack Overflow用户

发布于 2011-12-01 22:03:52

声明并定义一个包含12项的数组,其中S和Z只出现一次;其余的分别出现两次;并从中选取一个随机元素。

票数 7
EN

Stack Overflow用户

发布于 2011-12-01 22:08:36

将这些字符放入字符数组中,并使用srand()生成从0到6的随机值,然后您就可以获得一个随机数组

char myArray[] = {'I','J','L','S','Z','O','T'};

然后使用以下命令获取值

myArray (rand()%5)+1

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8342538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档