C++产生两个(多个)不同的随机数

来源:互联网 发布:php 表单验证 数据库 编辑:程序博客网 时间:2024/05/16 23:45

用面向对象的方法实现一个掷骰子的游戏,在写程序的时候发现在给两个骰子分配随机数的时候,两个骰子的随机数总是一样的,大致问题就是分配的时间种子一样,最后的解决方法就是将时间种子放在了构造函数里初始化,那么取随机数的时候时间就不一样,取的随机数就不一样。

//获取骰子点数class Die{private:int faceValue;public:Die(){faceValue = 0; //为防止产生的两个随机数相同,将时间种子放在构造函数里srand((unsigned)time(NULL));}int getFaceValue(){return faceValue;}void roll(){//产生随机数,表示骰子的点数faceValue = rand() % 6 + 1;}};


原创粉丝点击