主题:  一个随机大难题来帮忙

随缘哈哈

职务:普通成员
等级:1
金币:0.0
发贴:1
#12001/12/19 21:44:25
flash页面上有9个框和9个MC,由一个按键控制,每次点击按键想得到如下效果:

9个MC分别随机出现在9个框内,谁能搞定?我想了一天没想出来



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#22001/12/19 22:09:58
用数组索引这些mc,再对数组乱序,最近按索引值显示mc



5D荣誉斑竹

职务:普通成员
等级:2
金币:2.0
发贴:617
#32001/12/19 22:14:01
to:随缘哈哈
很长时间以前,作了一个,不怎么好,但是效果是一样的,已经发给你了!
to:janlay
老大!能否详细讲讲!现在我正遇到这个难题,用我原来的方法效率实在太低,能不能简单的帮我讲讲,或者做个例子,发给我!感激不尽呀~~~~~



5D荣誉斑竹

职务:普通成员
等级:2
金币:2.0
发贴:617
#42001/12/20 21:22:45
呜呜~~janlay老大!真是谢谢你呀~我想明白了!
你的意思是在同一帧中把定义好的数组赋上随机的值(虽然也用判断语句,但效果快了不知多少倍),然后在下一帧中再按根据数组中取得的值显示,对吧?不麻烦您发源文件了,我已经实现了,万分感谢!!!!!!

编辑历史:[这消息被桃人编辑过(编辑时间2001-12-20 21:23:57)]


网络蚂蚁

职务:普通成员
等级:1
金币:0.0
发贴:58
#52001/12/20 21:53:23
桃人
我还是不明白你的意思

不好意思 能给我一个mail吗

emmet@citiz.net
谢谢了!



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#62001/12/21 15:33:06
桃人在上个帖子中说
引用:
……
你的意思是在同一帧中把定义好的数组赋上随机的值(虽然也用判断语句,但效果快了不知多少倍),然后在下一帧中再按根据数组中取得的值显示,……


差不多。不过,我想的方法可能速度还要快些:

首先,进行如下初如化:
a[ 1]=1,a[ 2]=2,...,a[ n]=n;

再进行N次swap(a[i],a[j])。这就是我所说的乱序,当然,函数要另外写了,很简单的。

最后按顺序输出

编辑历史:[这消息被janlay编辑过(编辑时间2001-12-21 15:33:32)]


5D荣誉斑竹

职务:普通成员
等级:2
金币:2.0
发贴:617
#72001/12/21 23:18:12
明晰!



5D荣誉斑竹

职务:普通成员
等级:2
金币:2.0
发贴:617
#82001/12/21 23:19:31
to:anlay 明晰!
to:网络蚂蚁:好的,好的!一有时间就给你发过去!



suzzledboy

职务:普通成员
等级:1
金币:1.0
发贴:225
#92001/12/22 0:18:38
janlay在上个帖子中说
引用:
桃人在上个帖子中说
引用:
……
你的意思是在同一帧中把定义好的数组赋上随机的值(虽然也用判断语句,但效果快了不知多少倍),然后在下一帧中再按根据数组中取得的值显示,……


差不多。不过,我想的方法可能速度还要快些:

首先,进行如下初如化:
a[ 1]=1,a[ 2]=2,...,a[ n]=n;

再进行N次swap(a[i],a[j])。这就是我所说的乱序,当然,函数要另外写了,很简单的。

最后按顺序输出

怎么个弄法?



路过的猪

职务:普通成员
等级:2
金币:1.0
发贴:334
#102001/12/22 10:38:14
桃人在上个帖子中说
引用:
to:anlay 明晰!
to:网络蚂蚁:好的,好的!一有时间就给你发过去!



发个给我看看!
johnny52@21cn.com



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#112001/12/23 17:18:53
sorry, 没写清楚 ̄

function swap(x,y){
var t=x;
x=y;
y=t;
}

for(var i=0;iswap(a[random(n)],a[random(n)]);
}