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

Project1

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

[已经过期] 进一步请教rand(x)的应用

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
101 小时
注册时间
2011-6-22
帖子
289
跳转到指定楼层
1
发表于 2011-7-5 17:15:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1697
在线时间
3038 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

2
发表于 2011-7-5 17:16:47 | 只看该作者
本帖最后由 精灵使者 于 2011-7-5 17:38 编辑

rand(100) > 44 就是百分比45
case rand(100)
when 0..29
return 3
when 30..89
return 2
else
return 1
end

点评

谢谢精灵的帮忙^^  发表于 2011-7-5 18:34
OK,已经修改  发表于 2011-7-5 17:38
+1,我正在消化^w^  发表于 2011-7-5 17:32
0~30可是31%哦 ……  发表于 2011-7-5 17:30
回复

使用道具 举报

Lv3.寻梦者

孤独守望

梦石
0
星屑
3132
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

3
发表于 2011-7-5 17:18:16 | 只看该作者
本帖最后由 IamI 于 2011-7-5 17:21 编辑


1 可以说是正确的……当然随机数其实是可以规律的 - -||
  1. s = rand(100) # 0~99
  2.   if s < 45  # 0~44 共计45
  3.     # TODO
  4.   end
  5. end
复制代码
问题2提供鬼畜物一枚……如果你这么喜欢1行的话
1 + ((rand(100) < 60) ? ((rand(100) < 50) ? 2 : 1) : 0)

点评

IamI 给的一行有机会再深入学习,谢谢IamI 的帮忙^^  发表于 2011-7-5 18:34
问号运算符 触发条件? 符合条件的结果 : 不符合条件的结果  发表于 2011-7-5 17:39
我喜欢一行,可是完全看不懂。那个鬼畜物一枚是什么 ?w ?  发表于 2011-7-5 17:34
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
101 小时
注册时间
2011-6-22
帖子
289
4
 楼主| 发表于 2011-7-5 17:47:26 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1697
在线时间
3038 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

5
发表于 2011-7-5 17:49:01 | 只看该作者
本帖最后由 精灵使者 于 2011-7-5 17:49 编辑

如果重叠的话,就会执行第一个when了的说。
那个问号运算符感觉应该能符合要求

点评

100%是0-99,不是跟0-30重叠了吗?好难理解>w<  发表于 2011-7-5 17:52
回复

使用道具 举报

Lv1.梦旅人

虱子

梦石
0
星屑
121
在线时间
1782 小时
注册时间
2010-6-19
帖子
3597
6
发表于 2011-7-5 17:57:09 | 只看该作者
本帖最后由 Wind2010 于 2011-7-5 18:08 编辑

其实LZ想说的是100/190(190分之100)恢复1点MP,60/190恢复2点MP,30/190恢复3点MP吧?
还是说下判定是否30%,是的话恢复3MP,否则判定是否60%,是的话恢复2MP,都不是的话才恢复1MP?


那样的话就是这样
  1. case rand(100+60+30)
  2. when 0..99
  3.   return 1
  4. when 100..59
  5.   return 2
  6. when 160..189
  7.   return 3
  8. end
复制代码
第二种的话是这样:
  1. if rand(100) < 30
  2.   return 3
  3. elsif rand(100) < 60
  4.   return 2
  5. else
  6.   return 1
  7. end
复制代码

点评

把return 改成a=  发表于 2011-7-5 18:26
得到的回复点怎么应用?a=得到的回复点,然后attacker.sp +=a,这个怎么写>w<  发表于 2011-7-5 18:24
回复1点是保底的,绝对的。2、3点是偶尔的,不是绝对的。大概是这样的效果。回复1点的几率最大。  发表于 2011-7-5 18:08
我觉得是第一点,如果第二点,100%要怎么判断,你这一问,我也有点晕  发表于 2011-7-5 18:06

http://rpg.blue/thread-175056-1-2.html
PVZ型塔防物一个
http://rpg.blue/thread-155199-1-2.html
RMXP技术讨论区手动认可帖,得到答案请认可
回复

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
101 小时
注册时间
2011-6-22
帖子
289
7
 楼主| 发表于 2011-7-5 19:01:46 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

菜鸟飞呀飞 该用户已被删除
8
发表于 2011-7-5 19:16:00 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42431
在线时间
7603 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

9
发表于 2011-7-5 19:58:09 | 只看该作者
[nil,100,60,30].each_index {|i| mp+=i if rand(100)<self[i]}

点评

吓!同个效果有这么多写法。fux2 的写法也深奥,有机会再啃,谢谢啦^^  发表于 2011-7-5 20:54
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-26 08:53

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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