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

Project1

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

[已经解决] 那个,能不能帮我看看这段代码,出问题了

[复制链接]

Lv2.观梦者

梦石
0
星屑
452
在线时间
47 小时
注册时间
2016-9-25
帖子
41
跳转到指定楼层
1
发表于 2021-3-22 13:54:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 1390959782 于 2021-3-24 11:28 编辑

  def jjns
    if 1<=level<=10
      jjns = 10
    end
    if 11<=level<=20
      jjns = 30
    end
    if 21<=level<=30
      jjns = 60
    end
    if 31<=level<=40
      jjns = 100
    end
    if 41<=level<=50
      jjns = 150
    end
  end

Project1.rar

181.08 KB, 下载次数: 63

Lv2.观梦者

梦石
0
星屑
452
在线时间
47 小时
注册时间
2016-9-25
帖子
41
2
 楼主| 发表于 2021-3-22 13:55:19 | 只看该作者
就是if那一行出问题了,程序说是这样
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
14053
在线时间
2070 小时
注册时间
2016-9-20
帖子
844
3
发表于 2021-3-22 14:18:28 | 只看该作者
要and和括号
    if (1<=level) and (level<=10)
      jjns = 10
    end
    if (11<=level) and (level<=20)
      jjns = 30
    end
   
内容仅供参考,
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
24747
在线时间
5116 小时
注册时间
2016-3-8
帖子
1628
4
发表于 2021-3-22 14:41:18 | 只看该作者
本帖最后由 alexncf125 于 2021-3-22 14:56 编辑

class Game_Interpreter
  def jjns(level = 23.3)
    result = [10, 30, 60, 100, 150]
    index = (level.to_i - 1) / 10
    jjns = result[index]
  end
end

p jjns            #=>60
p jjns(44)     #=>150

咦...这里是xp区不是va区啊...
那么代码可能不通用...当我没来过好了...

点评

仔细看一下LZ的情况发现竟然是序列……O.O  发表于 2021-3-23 01:03
return ((1 + (level/10.0).ceil) * (level/10.0).ceil / 2) * 10  发表于 2021-3-23 01:02
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
452
在线时间
47 小时
注册时间
2016-9-25
帖子
41
5
 楼主| 发表于 2021-3-22 22:38:13 | 只看该作者
alexncf125 发表于 2021-3-22 14:41
class Game_Interpreter
  def jjns(level = 23.3)
    result = [10, 30, 60, 100, 150]

哥,你这
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
452
在线时间
47 小时
注册时间
2016-9-25
帖子
41
6
 楼主| 发表于 2021-3-22 22:39:39 | 只看该作者
ppspssss 发表于 2021-3-22 14:18
要and和括号
    if (1

啊,谢谢大哥
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
452
在线时间
47 小时
注册时间
2016-9-25
帖子
41
7
 楼主| 发表于 2021-3-22 22:43:04 | 只看该作者
ppspssss 发表于 2021-3-22 14:18
要and和括号
    if (1

还是不行,那个end错报了,哥

点评

大佬写的脚本是以有class Game_Interpreter为前的..对应一个END..你没有自然会报错..删掉报错的END即可..  发表于 2021-3-22 23:07
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7951
在线时间
1182 小时
注册时间
2007-7-29
帖子
2055
8
发表于 2021-3-22 23:17:43 | 只看该作者
1. 运算符只有左边与右边,不是左边,中间,右边。
2. ruby括号非必要,主要问题还是出在(1)。

当要判断level介于1到10必须拆分成两个语句:level大过或等于1,level小过或等于10,两个表达式用and做合并判断。

错误写法 1 <= level <= 10
正确写法:1 <= level and level <= 10

点评

还有(1..10).include?(5) #=> true  发表于 2021-3-22 23:56
5.between?(1, 10) #=> true  发表于 2021-3-22 23:50
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
452
在线时间
47 小时
注册时间
2016-9-25
帖子
41
9
 楼主| 发表于 2021-3-23 12:40:41 | 只看该作者
试了一下,各位大佬的说法都是正确的,原来是这样
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
452
在线时间
47 小时
注册时间
2016-9-25
帖子
41
10
 楼主| 发表于 2021-3-23 12:44:54 | 只看该作者
enghao_lim 发表于 2021-3-22 23:17
1. 运算符只有左边与右边,不是左边,中间,右边。
2. ruby括号非必要,主要问题还是出在(1)。

那个,哥,能不能帮我看一下,这段代码又错了
    n = [[(base_maxhp + @maxhp_plus)*((level+jjns)*0.1+1), 1].max, 9999].min

点评

的确是需要报错信息,但一行脚本无法抓虫。  发表于 2021-3-24 00:39
Game_Battler子类Game_Actor与Game_Enemy;Game_Actor才有level,另外也不知道jjns写在哪了…… 血量计算一般要结果整数化  发表于 2021-3-23 14:43
你要发报错信的截图..  发表于 2021-3-23 14:01
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-6-13 00:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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