主题:  随机取值的问题

diy980013

职务:普通成员
等级:1
金币:0.0
发贴:100
#12004/6/25 10:26:21
//自定义函数randomsum()随机选取三个数字,赋值给文本框变量sun1、sum2、sum3,它们之和为21
function randomsum() {
    a = Math.floor(Math.random()*16)+3;
    b = Math.floor(Math.random()*(20-a)+2);
    c = 21-a-b;
    _root.sum1 = a;
    _root.sum2 = b;
    _root.sum3 = c;
}

想随机取得三个数值a、b、c,并且三个树均要的大于0小于21,a+b+c=21,并且a、b、c不能是(1,1,19)(2,2,17)的组合。该如何自定义一个函数随时调用产生满足上述条件的a、b、c,同时赋值给sum1、sum2、sum2。请大家帮忙指点,谢谢!



diy980013

职务:普通成员
等级:1
金币:0.0
发贴:100
#22004/6/25 12:12:16
怎么总也等不到前辈们的指点呢 哎



diy980013

职务:普通成员
等级:1
金币:0.0
发贴:100
#32004/6/25 15:28:27
斑竹 能不能帮忙顶一下呢 谢谢



UndeadCraft

职务:版主
等级:4
金币:10.0
发贴:1993
#42004/6/28 8:52:53
还真麻烦。
要多几个IF。
判断如果是不要的那几个数,就重新生成一个随机数。生成两个后,用21来减这个两个数,得第三个,当然也要判断是不是属于不要的。如果是全部重来。
思路就这样了 。



diy980013

职务:普通成员
等级:1
金币:0.0
发贴:100
#52004/6/28 9:52:28
其实这也不怎么样 比帝国的人冷漠了点 还都人模人样 哎



UndeadCraft

职务:版主
等级:4
金币:10.0
发贴:1993
#62004/6/30 9:19:55
diy980013请注意你的言词。如果不喜欢你完全可以不来。



大彩蛋

职务:普通成员
等级:1
金币:1.0
发贴:142
#72004/6/30 10:27:46
function randomsum(){
a=Math.floor(Math.random()*10);
b=a+1;
c=21-b-a;
trace(a+"+"+b+"+"+c);
}

randomsum()