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

Project1

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

[已经解决] 问个问题,下面这个用脚本怎么表达啊

[复制链接]

Lv1.梦旅人

梦石
0
星屑
235
在线时间
425 小时
注册时间
2013-6-28
帖子
173
跳转到指定楼层
1
发表于 2015-7-5 18:44:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
角色a的 魔力 等于 A; 敌人b的 魔力 等于 B
魔力差 等于 A 减 B
如果 魔力差 大于等于 100
  角色a 对 敌人b 使用技能 有12/16的几率成功
结束
如果 魔力差 大于等于 50
  角色a 对 敌人b 使用技能 有4/16的几率成功
结束

Lv1.梦旅人

梦石
0
星屑
235
在线时间
425 小时
注册时间
2013-6-28
帖子
173
2
 楼主| 发表于 2015-7-5 18:45:24 | 只看该作者
其实我就是不知道12/16和4/16的几率成功 怎么写

点评

rand(16) < 12 和 rand(16) < 4 。  发表于 2015-7-6 08:08
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1034
在线时间
749 小时
注册时间
2013-2-15
帖子
116

开拓者

3
发表于 2015-7-5 19:00:48 | 只看该作者
最简单的方法  
$变量 = rand(15)  
if $变量 == 0 and $变量 == 1 and $变量 == 2 and $变量 == 3
   #4/16的部分
else
   #12/16的部分
end

点评

会出错的……应该用or进行连接,不是用and  发表于 2015-7-7 10:25
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
235
在线时间
425 小时
注册时间
2013-6-28
帖子
173
4
 楼主| 发表于 2015-7-5 20:21:20 | 只看该作者
九幽鬼少 发表于 2015-7-5 19:00
最简单的方法  
$变量 = rand(15)  
if $变量 == 0 and $变量 == 1 and $变量 == 2 and $变量 == 3

这个想法不错
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

梦石
0
星屑
9497
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

5
发表于 2015-7-7 10:28:01 | 只看该作者
仅供参考
RUBY 代码复制
  1. int_diff = a.int - b.int
  2. success = false
  3. if int_diff >= 100
  4.   success = rand(16) < 12
  5. elsif int_diff >= 50
  6.   success = rand(16) < 4
  7. end
  8. if success
  9.   # do your job
  10. end
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2207
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

6
发表于 2015-7-7 10:44:07 | 只看该作者
本帖最后由 taroxd 于 2015-7-8 19:22 编辑
RyanBern 发表于 2015-7-7 10:28
仅供参考
int_diff = a.int - b.int
success = false


我就来卖个萌

RUBY 代码复制
  1. int_diff = a.int - b.int
  2. (int_diff >= 100 ? rand(16) < 12 : int_diff >= 50 && rand(16) < 4) && do_your_job

点评

为何不tap,虽然XP也没有tap  发表于 2015-7-7 12:53
为何我要用10行?(摔)  发表于 2015-7-7 11:18

评分

参与人数 1星屑 +150 收起 理由
RyanBern + 150 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
235
在线时间
425 小时
注册时间
2013-6-28
帖子
173
7
 楼主| 发表于 2015-7-7 17:34:45 | 只看该作者
  int差 = $game_party.actors[0].int - $game_troop.enemies[0].int
        if   int差 >= 100
            if rand(16) < 12
            ### 成功
            else
            ### 失败
            end
        elsif int差 >= 50
            if rand(16) < 4
            ### 成功
            else
            ###失败
            end
      else
     ###失败
        end
应该就是这样了吧

点评

说了我只是来卖个萌,可读性还是你那个好= =  发表于 2015-7-8 19:14
基本差不多,能实现功能,推荐6L的写法。  发表于 2015-7-7 19:10
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止访问)

梦石
0
星屑
88
在线时间
631 小时
注册时间
2014-8-4
帖子
3600
8
发表于 2015-7-8 17:12:12 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-30 23:12

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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