mud 源码函数问题
zmud吧
全部回复
仅看楼主
level 1
coorabcoorab 楼主
如下
if(!random(4)||me->query("quest/hsjf/fy5/yanlian")=="again")
请问这句话
1) !random(4)在这个if语句起什么作用?
2) ||符号代表什么?
3)me->query("quest/hsjf/fy5/yanlian")=="again",这句话是检查对象的
quest/hsjf/fy5/yanlian这个变量的值是否为again,我的理解对么?
2014年10月11日 18点10分 1
level 1
如下
if(!random(4)||me->query("quest/hsjf/fy5/yanlian")=="again")
请问这句话
1) !random(4)在这个if语句起什么作用?
2) ||符号代表什么?
3)me->query("quest/hsjf/fy5/yanlian")=="again",这句话是检查对象的
quest/hsjf/fy5/yanlian这个变量的值是否为again,我的理解对么?
一点一点来:
1、||符号代表什么?这个符号是“或者”的意思,a||b,a与b之间有一个真则整个表达式为真;与&&相对应,&&是“并且”的意思,a&&b,a与b必须都为真整个表达式才为真。
2、me->query("quest/hsjf/fy5/yanlian")=="again",可以这么理解。一般我理解为quest/hsjf/fy5/yanlian这个“标记”,然后判断该“标记”是否某个值。
3、random(i)的值在0~(i-1)之间随机。所以random(4)就是在0,1,2,3之间随机。0表示假,非零(1、2、3)表示真,!表示“非”、“否定”的意思,0为假,则!0为真,所以!random(4)只有random(4)随机到0的时候为真,0,1,2,3之间出现0的几率为1/4,故该表达式控制几率为1/4.
!random(4)在上边代码的作用就是当random(4)=0时,直接执行if表达式后边的代码。
2014年10月12日 13点10分 2
level 1
coorabcoorab 楼主
茅塞顿开,回答很详细,谢谢
2014年10月12日 14点10分 3
1