25*25单色地图问题。。。
在25*25的单色地图上,比如绿色,用《竞赛题目及相关说明-3月10日更新.doc》里的示例程序进行游戏,为什么建筑都被放在了从左上角到右下角的对角线上了?难道是伪随机数的问题?回复 1# chnjxyuezhe 的帖子
你好,chnjxyuezhe:看起来是的:)
Radom.Next有几个重载的方法,可以尝试使用不同的重载来避免这个喜感的效果:smoke
当然,老生常谈地再补充一句,那个示例算法是演示接口使用的,仅供参考:-o
回复 1# chnjxyuezhe 的帖子
你好,chnjxyuezhe:好吧,我得承认,我说错话了:Z 这个问题的答案,的确只是看上去如此。
造成所有建筑都被摆放在主对角线上的原因,不是Random.Next生成的随机数的问题,而是因为以下两行:
int x = randNum % map.Width;
int y = randNum % map.Height;
注意到了么?如果地图的宽和高是相等的,那么,这个算法只会尝试将建筑的左上角摆放在主对角线上:) 哦,是。。。
页:
[1]