原帖由鬼谷子于2006-02-24, 16:40:43发表
引用 (鬼谷子 @ 2006-02-24, 14:02:26)
楼主的算法太负杂了。建议改为:
随机产生1到70的整数,大于对方武将忠诚则劝降成功!
这样忠诚70以上不会投降,70以下越低越容易投降,忠诚为0一定降。
关于你说的劝降算法,也是有考虑过。
这样的做法,一是忽略了武将的节操度,让武将节操度设定成为浪费。
二是肯定会造成劝降成功率要么高得厉害,要么低得厉害,感觉不太合理。
我不觉得啊,一是忽略的武将节操度没关系啊。要考虑也很简单,忠诚+节操的5倍,再与80以内随机数比较即可。二是就没搞懂了???成功率完全由忠诚度控制,很合理啊,忠诚小于10你还指望他不投降?再说了,电脑使用劝降很少的,而电脑的忠诚一般都比较高。
为什么要说你这个方案,会造成要么成功率高,要么成功率低呢。
因为你的方案是随机产生一个数据,大于对方武将忠诚度,就成功,是不?
因为随机产生1个数据是1-70的一个,而电脑武将的忠诚度假设是69的话,你的劝降成功率基本上就是1%的机会成功了。
而如果电脑的忠诚度是1,那么产生1-70间的数据,占了绝大半,这个成功率就达到了几乎100%,这样的话,就太高了。
从这两点分析,如果电脑大部分处于一个阶段的忠诚度,就会造成连成功,或者连续不成功的现象,个人感觉不是很理想。至于中间阶段,几率也有2分之1之多。