主题:  一个随机数不会重复出现

路过的猪

职务:普通成员
等级:2
金币:1.0
发贴:334
#12001/7/17 11:41:31
点按钮时,就会随机跳至一个场景(比如场景1,2,3,4,5)
我想这个随机数不会重复,并且5个场景都去过时,就会去到场景6.
麻烦把代码帖上来.



5D荣誉斑竹

职务:普通成员
等级:1
金币:10.0
发贴:265
#22001/7/17 12:18:48
这不是取随机数了,而是随机排列的问题。你可建个数组,然后乱序即可。



网络白痴 | 5D荣誉斑竹

职务:普通成员
等级:4
金币:10.0
发贴:1657
#32001/7/17 14:36:57
其实解决此问题还是有点麻烦的,需要建立数组,然后通过slice()来取出数组,大概应该是用到这两者的!



5D荣誉斑竹

职务:普通成员
等级:1
金币:10.0
发贴:265
#42001/7/18 23:39:54
可以不用slice的。
取随机数是不能排斥重复的,否则就不叫取随机数了,你的要求的实质不是取随机数,而是作随机排列。清楚了这一点以后,问题就简单了。
可以用对数组乱序的办法来实现。
除了用子心的办法外,还有一个方法很简单:取两个随机数,将以此为下标的数组元素对换,这个过程重复一定次数就可以了。



闪客作家

职务:普通成员
等级:1
金币:10.0
发贴:275
#52001/7/19 1:33:16
我记得瓜子你写过一个教程,
是写RANDOM各种随机方式的,
这个方面好象是随机数取一遍如果怎么样就再取一遍
是什么啊,
内容记不太清了
写出来啊



Demon.S

职务:版主
等级:5
金币:10.0
发贴:2468
#62001/7/19 9:53:31
位移,肯定不会出现相同的



jiaying

职务:普通成员
等级:2
金币:1.0
发贴:337
#72001/7/19 18:00:39
办法笨一点但一定可行。
记录下已产生的数,在下一次随机产生时判断一下,相同就重新产生。



5D荣誉斑竹

职务:普通成员
等级:1
金币:10.0
发贴:265
#82001/7/19 23:16:33
jiaying在上个贴子中说
引用:
办法笨一点但一定可行。
记录下已产生的数,在下一次随机产生时判断一下,相同就重新产生。


实现很麻烦,而且依然是取随机的概念。



outwindow

职务:普通成员
等级:1
金币:0.0
发贴:105
#92001/7/20 11:04:35
我以前用director做了一个福利彩票选号机的东西,里面就涉及到如何产生7个随机数,但又各不相同的问题。很久以前做的,很粗糙,大家不要见怪。http://www.china-avenue.com/9654196541/skill/fuli.htm不过需要shockwave插件才能看到。



路过的猪

职务:普通成员
等级:2
金币:1.0
发贴:334
#102001/7/20 11:07:17
楼上的朋友们,可以把代码帖上来吗?



outwindow

职务:普通成员
等级:1
金币:0.0
发贴:105
#112001/7/20 11:47:49
到这里下载,http://www.china-avenue.com/9654196541/file/fuli.zip,解开压缩包后是dir文件。



路过的猪

职务:普通成员
等级:2
金币:1.0
发贴:334
#122001/7/20 13:43:02
dir是什么文件来的?



outwindow

职务:普通成员
等级:1
金币:0.0
发贴:105
#132001/7/20 15:20:18
我是用director做的,dir是director存储的默认文件名,你安装director后就可以打开,如果你略懂lingo的话,就可以看懂了。我的思路是这样的:建立两个侦,第一帧随机产生7个数,并把它们放在一个数组,在第二帧是判断这个数组里面有没有重复的数字。如果有就返回第一帧重新产生随机数。方法土了点!



路过的猪

职务:普通成员
等级:2
金币:1.0
发贴:334
#142001/7/21 17:35:34
我的问题已经解决了,请问director是什么东东,那里有得下载?



闪客作家

职务:普通成员
等级:1
金币:10.0
发贴:275
#152001/7/22 3:24:07
哪儿有下载不太清楚
MM的上面应该有试用版吧,
一般这么大的软件我是不敢下的,
DIR其实应该是FLASH的完整版
FLASH应该是DIR的网络简装版