Project1

标题: 关于F1文档脚本部分的问题 [打印本页]

作者: 鲸梦鲸    时间: 2018-4-13 19:24
标题: 关于F1文档脚本部分的问题
实战部分 关于制作消耗物品技能的脚本
截图部分画上红框的部分有些不解。
我想知道!item是如何判断item的真伪的,因为我认为item的值不只是0或1.

QQ图片20180413191616.png (187.01 KB, 下载次数: 22)

QQ图片20180413191616.png

作者: guoxiaomi    时间: 2018-4-13 19:54
ruby里面,只有 false 和 nil 被判断为伪,其余都是真,包括0,空字符串和空数组
作者: fux2    时间: 2018-4-13 19:54
ruby和C++之类的语言不一样
只要不为false,nil,在条件判断的时候都视为true
就算是0也视为true

图里这么写的目的就是判断传入的item不为空
作者: 鲸梦鲸    时间: 2018-4-13 22:12
fux2 发表于 2018-4-13 19:54
ruby和C++之类的语言不一样
只要不为false,nil,在条件判断的时候都视为true
就算是0也视为true

原来还有这个规则...
不过我还有些问题,这个地方应该是要确保数据库有item这个物品并且队伍中也存在这个物品,那为什么要用或运算呢,而且!item为true的情况不是item为nil的时候吗?
作者: fux2    时间: 2018-4-14 01:58
鲸梦鲸 发表于 2018-4-13 22:12
原来还有这个规则...
不过我还有些问题,这个地方应该是要确保数据库有item这个物品并且队伍中也存在这个 ...


这是一个简化逻辑

如果不存在这个道具
→该技能不消耗道具→返回true
如果存在这个道具
并且队伍拥有这个道具
→可以消耗这个道具→返回true

这里兼顾了不消耗道具的技能和消耗道具的技能
由于条件是从左至右依次判断的
先计算!item ,即“如果这个技能不消耗道具(需消耗的道具不存在)”,就返回true
不满足时同时满足了下一个条件“道具存在且队伍拥有”的前一个条件,固可省略。
作者: 鲸梦鲸    时间: 2018-4-14 21:24
fux2 发表于 2018-4-14 01:58
这是一个简化逻辑

如果不存在这个道具

原来如此!受教了,十分感谢




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1