我在用C++编写的俄罗斯方块游戏中需要一点帮助,这是我的问题:
俄罗斯方块的列表有7种类型:{'I','J','L','S','Z','O','T'}
我需要选择上述字符中的一个,这样S和Z的选择概率分别为1/12,其他块的选择概率分别为1/6。
根据这些概率生成块的最佳方法是什么?
发布于 2011-12-01 22:04:52
如下所示创建一个数组:
const char* block_distribution = {'I', 'I', 'J', 'J', 'L', 'L', 'S',
'Z', 'O', 'O', 'T', 'T'};然后使用均匀分布从该数组中选取一个元素。
发布于 2011-12-01 22:03:52
声明并定义一个包含12项的数组,其中S和Z只出现一次;其余的分别出现两次;并从中选取一个随机元素。
发布于 2011-12-01 22:08:36
将这些字符放入字符数组中,并使用srand()生成从0到6的随机值,然后您就可以获得一个随机数组
char myArray[] = {'I','J','L','S','Z','O','T'};
然后使用以下命令获取值
myArray (rand()%5)+1
https://stackoverflow.com/questions/8342538
复制相似问题