找回密码
 点一下
查看: 2076|回复: 48

看到个很奇怪的东东

[复制链接]
发表于 2008-6-9 14:27:46 | 显示全部楼层 |阅读模式
看到个很奇怪的东西...
WE里有个随机选取物品的函数..
[jass]
function RandomItemInRectBJ takes rect r, boolexpr filter returns item
    set bj_itemRandomConsidered = 0
    set bj_itemRandomCurrentPick = null
    call EnumItemsInRect(r, filter, function RandomItemInRectBJEnum)
    call DestroyBoolExpr(filter)
    return bj_itemRandomCurrentPick
endfunction
function RandomItemInRectBJEnum takes nothing returns nothing
    set bj_itemRandomConsidered = bj_itemRandomConsidered + 1
    if (GetRandomInt(1, bj_itemRandomConsidered) == 1) then
        set bj_itemRandomCurrentPick = GetEnumItem()
    endif
[/jass]
这个
if (GetRandomInt(1, bj_itemRandomConsidered) == 1) then
用GetRandomInt感觉是不是多余了...直接if (bj_itemRandomConsidered == 1) then不就行了..不知里面有什么玄机....
还有,随机选取个物品要这么多代码吗?好浪费..-_-!!
发表于 2008-6-9 14:31:33 | 显示全部楼层
一种随机算法而已
回复

使用道具 举报

 楼主| 发表于 2008-6-9 14:33:36 | 显示全部楼层
找不到没有BJ的了,想想自己写个简单点的..
回复

使用道具 举报

发表于 2008-6-9 14:33:59 | 显示全部楼层
  [s:166]    [s:186]

眼睛看花了,偶素来灌水滴~~~~
回复

使用道具 举报

发表于 2008-6-9 14:35:51 | 显示全部楼层
什么东西?
回复

使用道具 举报

 楼主| 发表于 2008-6-9 14:36:30 | 显示全部楼层
很不幸的被水了..
回复

使用道具 举报

 楼主| 发表于 2008-6-9 14:38:51 | 显示全部楼层
引用第1楼Red_Wolf于2008-06-09 14:31发表的  :
一种随机算法而已
=>别了,热爱WE的朋友们<=
老狼要走了?伤心..
回复

使用道具 举报

发表于 2008-6-9 14:39:09 | 显示全部楼层
那么为何发到水区。
回复

使用道具 举报

发表于 2008-6-9 14:39:21 | 显示全部楼层
引用第5楼OrS于2008-06-09 14:36发表的  :
很不幸的被水了..

很不幸滴,你发在了番茄海,而8素JASS区~~~~
回复

使用道具 举报

发表于 2008-6-9 14:40:26 | 显示全部楼层
引用第6楼OrS于2008-06-09 14:38发表的  :

=>别了,热爱WE的朋友们<=
老狼要走了?伤心..

哎呀呀,为虾米要走捏

经常回来灌水罢~~~~~~
回复

使用道具 举报

发表于 2008-6-9 14:41:34 | 显示全部楼层
偶尔来次水区,居然碰到龟速网~~
回复

使用道具 举报

发表于 2008-6-9 14:44:13 | 显示全部楼层
其实这个BJ函数去掉call DestroyBoolExpr(filter)这一句就可以用了
回复

使用道具 举报

发表于 2008-6-9 14:47:19 | 显示全部楼层
引用第11楼Red_Wolf于2008-06-09 14:44发表的  :
其实这个BJ函数去掉call DestroyBoolExpr(filter)这一句就可以用了

灌水的时候学习一下~~~~
回复

使用道具 举报

 楼主| 发表于 2008-6-9 14:47:25 | 显示全部楼层
引用第7楼thody于2008-06-09 14:39发表的  :
那么为何发到水区。
这个还明白吗?刚才看到老狼在水区,所以就发这个问题上来了,本以为自己看不懂那写法..
回复

使用道具 举报

 楼主| 发表于 2008-6-9 14:50:14 | 显示全部楼层
引用第11楼Red_Wolf于2008-06-09 14:44发表的  :
其实这个BJ函数去掉call DestroyBoolExpr(filter)这一句就可以用了
没有这个,会不会泄露,记得以前用杖举单位组做动作没销毁filter,结果越来越卡....
回复

使用道具 举报

发表于 2008-6-9 14:50:39 | 显示全部楼层
引用第13楼OrS于2008-06-09 14:47发表的  :

这个还明白吗?刚才看到老狼在水区,所以就发这个问题上来了,本以为自己看不懂那写法..

居然发现很多游客也在水区~~~~~~~~
回复

使用道具 举报

 楼主| 发表于 2008-6-9 14:55:16 | 显示全部楼层
引用第1楼Red_Wolf于2008-06-09 14:31发表的  :
一种随机算法而已
哦,明白了..首先被杖举的几率是100%,后面的递减...和直接选第一个是不一样的...WOOWO..谢谢老狼.
回复

使用道具 举报

发表于 2008-6-9 14:56:01 | 显示全部楼层
渣狼素舍弃WE奔向SE了。
回复

使用道具 举报

 楼主| 发表于 2008-6-9 14:57:10 | 显示全部楼层
引用第17楼白银の式神于2008-06-09 14:56发表的  :
渣狼素舍弃WE奔向SE了。
由伤感转为兴奋.期待.
回复

使用道具 举报

发表于 2008-6-9 15:00:40 | 显示全部楼层
最近水区的学习气氛很好
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-24 04:01 , Processed in 0.037519 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表