设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 5264|回复: 10
打印 上一主题 下一主题

[已经解决] |= 是什么意思

[复制链接]

Lv1.梦旅人

梦石
0
星屑
52
在线时间
268 小时
注册时间
2012-2-4
帖子
205
跳转到指定楼层
1
发表于 2012-5-4 20:03:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
|= 好像都是出现在game_batter中吧。但是不知道是什么意思,好像F1教程里也没看到过。

Lv1.梦旅人

梦石
0
星屑
70
在线时间
187 小时
注册时间
2006-9-3
帖子
175
2
发表于 2012-5-4 21:36:53 | 只看该作者
|=
集合的并集运算。将任属两数组之一的单元重组为一个新数组并返回该数组。重复单元将被清除。
...........
回复

使用道具 举报

Lv3.寻梦者 (版主)

  /) /)<

梦石
0
星屑
4212
在线时间
4890 小时
注册时间
2009-2-16
帖子
8434

开拓者短篇七成年组季军

3
发表于 2012-5-4 22:16:30 | 只看该作者
这个不是 制表符吗?= =
回复

使用道具 举报

Lv1.梦旅人

风之塞尔达

梦石
0
星屑
50
在线时间
57 小时
注册时间
2005-10-22
帖子
2492

贵宾

4
发表于 2012-5-4 22:28:44 | 只看该作者
本帖最后由 link006007 于 2012-5-4 22:28 编辑

google或百度 位运算  可能是你要的、、
当然不排除ruby内部的运算符重载。。 这个就要具体问题具体分析
在程序里延续塞尔达的传说, 在画板上勾勒塞尔达的轮廓!!
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
154 小时
注册时间
2011-7-9
帖子
423
5
发表于 2012-5-4 23:59:09 | 只看该作者
本帖最后由 灵魂の补给 于 2012-5-5 00:01 编辑

数组里:
a = [1,2,3]
b = [2,3,4]
p a|= b #[1,2,3,4]
相当于 a = a | b
相当于.....
在数值里
相当于数学里的位移运算
具体学数学吧
New Game:  【QQ堂4.6单机版】(9月新版!【点此】)个人提供快速网盘http://ad.jlweb.tk/upload/ --- 密码:abcdefg
激零工作室孵化中.....网游make中。。招收游戏监督一名,上线时间:5~12 小时 招收脚本员,美工数位。。
本人Q:330639889 验证:zs    ----广:愿意帮我宣传签名的,站内PM
下面的东西是什么?!请进:http://tieba.baidu.com/p/1453289014【2012最新炸弹型ARPG游戏,历时2年间断坚持制作!】
[img=646,262]http://ftp.66rpg.com/WEB_PLUS/attachment/forum/201203/28/1655578kbk8bqkfazk2
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
52
在线时间
268 小时
注册时间
2012-2-4
帖子
205
6
 楼主| 发表于 2012-5-5 09:00:07 | 只看该作者
灵魂の补给 发表于 2012-5-4 23:59
数组里:
a = [1,2,3]
b = [2,3,4]

effective |= hit < 100 那这个怎么解释,难道用effective和hit的来和判断是否小于100,effective |= hit,应该是个数组吧。那样输出的是个什么结果?一个布尔值。还是说小于100的都被删除?

点评

hit <100一定是个布尔值如果你复制完了的,估计effective是存是否有效的一个东西数组吧,限制2个数组成员。用来干什么我就不知道了  发表于 2012-5-5 09:10
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
154 小时
注册时间
2011-7-9
帖子
423
7
发表于 2012-5-5 09:05:05 | 只看该作者
把那一页代码发上来我看下才知道
New Game:  【QQ堂4.6单机版】(9月新版!【点此】)个人提供快速网盘http://ad.jlweb.tk/upload/ --- 密码:abcdefg
激零工作室孵化中.....网游make中。。招收游戏监督一名,上线时间:5~12 小时 招收脚本员,美工数位。。
本人Q:330639889 验证:zs    ----广:愿意帮我宣传签名的,站内PM
下面的东西是什么?!请进:http://tieba.baidu.com/p/1453289014【2012最新炸弹型ARPG游戏,历时2年间断坚持制作!】
[img=646,262]http://ftp.66rpg.com/WEB_PLUS/attachment/forum/201203/28/1655578kbk8bqkfazk2
回复

使用道具 举报

Lv6.析梦学徒

Fuzzy Ginkgo
Taciturn Knight

梦石
0
星屑
60819
在线时间
1934 小时
注册时间
2010-6-26
帖子
1605

烫烫烫开拓者

8
发表于 2012-5-5 09:14:55 | 只看该作者
a |= b
就相当于
a = a | b
如果 a, b 是 Array,那么就是并集运算,即将 a, b 相加并去掉重复项。
如果 a, b 是数,那么就是逻辑或运算。

点评

我怎么记得||才是逻辑运算  发表于 2012-5-6 13:28
我的言论只代表我个人的观点,不代表雇主及/或任何第三方的立场。
Opinions expressed are solely my own and do not express the views or opinions of my employer and/or any third parties.
捐赠 | GitHub
回复

使用道具 举报

Lv6.析梦学徒

Fuzzy Ginkgo
Taciturn Knight

梦石
0
星屑
60819
在线时间
1934 小时
注册时间
2010-6-26
帖子
1605

烫烫烫开拓者

9
发表于 2012-5-5 09:19:47 手机端发表。 | 只看该作者
a13637392916 发表于 2012-5-5 09:00  effective |= hit< 100 那这个怎么解释,难道用effective和hit的来和判断是否小于100,effective |= hit ...

对于布尔值 a, b
a |= b 相当于 a = a | b
是布尔值的或运算

effective 是 a
hit < 100 是 b
也就是说经过 effective |= hit < 100
就相当于
if effective then effective = true end
if hit < 100 then effective = true end

点评

不是说并集么?为什么只剩下个true了。而且 | 的优先级好像比 < 高吧。应该是先计算左边吧?  发表于 2012-5-5 09:24

评分

参与人数 1星屑 +200 收起 理由
忧雪の伤 + 200 认可答案

查看全部评分

我的言论只代表我个人的观点,不代表雇主及/或任何第三方的立场。
Opinions expressed are solely my own and do not express the views or opinions of my employer and/or any third parties.
捐赠 | GitHub
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
52
在线时间
268 小时
注册时间
2012-2-4
帖子
205
10
 楼主| 发表于 2012-5-5 09:21:12 | 只看该作者
灵魂の补给 发表于 2012-5-5 09:05
把那一页代码发上来我看下才知道

def skill_effect(user, skill)
    # 清除会心一击标志
    self.critical = false
    # 特技的效果范围是 HP 1 以上的己方、自己的 HP 为 0、
    # 或者特技的效果范围是 HP 0 的己方、自己的 HP 为 1 以上的情况下
    if ((skill.scope == 3 or skill.scope == 4) and self.hp == 0) or
       ((skill.scope == 5 or skill.scope == 6) and self.hp >= 1)
      # 过程结束
      return false
    end
    # 清除有效标志
    effective = false
    # 公共事件 ID 是有效的情况下,设置为有效标志
    effective |= skill.common_event_id > 0
    # 第一命中判定
    hit = skill.hit
    if skill.atk_f > 0
      hit *= user.hit / 100
    end
    hit_result = (rand(100) < hit)
    # 不确定的特技的情况下设置为有效标志
    effective |= hit < 100
    # 命中的情况下
    if hit_result == true
      # 计算威力
      power = skill.power  +skill.atk_f + user.atk
      if power > 0
        power -= skill.pdef_f
        power -= skill.mdef_f
        power = [power, 0].max
      end
就这个了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-25 19:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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