我使用生成我的游戏的随机数:伪随机数生成
System.Random rnd = new System.Random();
int TileType = rnd.Next (0, 8);
的问题是,这些数字是太过随意。数字与瓦片有关,并且我没有获得20卷的特定瓦片。
我需要制作一个生成“假”随机数的函数的指导。所以基本上我想确保我生成x卷的每个瓷砖类型。我想12可能是x的一个很好的起点,但希望能够调整x。
如果有人能指出我在正确的方向,将不胜感激。
更新
继承人什么,我想现在。感谢@Golo以这种方式指向我。思考?
- 创建我想要的号码列表。
- 添加更多的随机数。
- Shuffle list -var shuffledList = unshuffledList.OrderBy(x => rand.Next())。ToList();
- 抓住第一个项目并从列表中移除。
- 空白时重建列表。
这应该意味着所有的数字都会频繁出现,但是您仍然可以重复,因此它会保持随机的感觉。
您正在寻找 “洗牌” 或 “加权随机数”(根据您的喜好)。 –