Project1

标题: 怎么把模块信息的数值导入这脚本 [打印本页]

作者: 美丽晨露    时间: 2013-2-20 19:31
标题: 怎么把模块信息的数值导入这脚本
本帖最后由 美丽晨露 于 2013-2-21 18:17 编辑
  1. module Attack
  2. ScoreBasic = 10         # 基本分数
  3.   ScoreAttack = []
  4.   ScoreAttack[0] = 1       # 连击分数 0 : 没击
  5.   ScoreAttack[1] = 5       # 连击 1
  6.   ScoreAttack[2] = 15       # 连击 2
  7.   ScoreAttack[3] = 30     # 连击 3
  8.   ScoreAttack[4] = 60      # 连击 4
  9.   ScoreAttack[5] = 120      # 连击 5
  10.   ScoreAttack[6] = 240      # 连击 6
  11.   ScoreAttack[7] = 480      # 连击 7
  12.   
复制代码
以上是模块

怎么将模块内的各个相应的连击所得到的分数
代入到这个脚本?
求修改
  1. #--------------------------------------------------------------------------
  2.   #        计算分数
  3.   #--------------------------------------------------------------------------
  4.   def calculate_score(n)
  5.     Attack = [@Attack,ScoreAttack.size-1].min #Attack为连击数
  6.     @score += n * ScoreBasic * Attack
  7.   end
复制代码

作者: 美丽晨露    时间: 2013-2-21 08:34
没人知道吗?
作者: 弗雷德    时间: 2013-2-21 11:01
模块名::变量
比如:
Attack::ScoreAttack[5]
作者: 美丽晨露    时间: 2013-2-21 17:02
本帖最后由 美丽晨露 于 2013-2-21 17:14 编辑
弗雷德 发表于 2013-2-21 11:01
模块名::变量
比如:
Attack::ScoreAttack[5]


请问一下
这个变量不是固定的,而是会累积上去的
又要怎么写?
Attack::ScoreAttack[N]##?
这样?
作者: 弗雷德    时间: 2013-2-21 17:55
你可以用一个变量代入连击数,比如I吧
然后再获取连击为I时的分数Attack::ScoreAttack[i]?

作者: 美丽晨露    时间: 2013-2-21 17:58
弗雷德 发表于 2013-2-21 17:55
你可以用一个变量代入连击数,比如I吧
然后再获取连击为I时的分数Attack::ScoreAttack?
...

不好意思
我太不懂啊
一个变量代入连击数?
这个要怎么做?
作者: 弗雷德    时间: 2013-2-21 18:12
刚刚看了下,你的脚本已经有一个变量指代连击数了,就是Attack
所以下面这么弄:

def calculate_score(n)
    Attack = [@Attack,ScoreAttack.size-1].min #Attack为连击数
    @score += n * ScoreBasic * Attack
  end
改成
def calculate_score(n)
    Attack = [@Attack,ScoreAttack.size-1].min #Attack为连击数
    @score += n * ScoreBasic * Attack::ScoreAttack[Attack]?
  end


另外,你现在只定义了最高7连击的分数,如果连击数Attack超过7的话是会报错的哦。
作者: 美丽晨露    时间: 2013-2-21 18:17
弗雷德 发表于 2013-2-21 18:12
刚刚看了下,你的脚本已经有一个变量指代连击数了,就是Attack
所以下面这么弄:

可以了,
十分感谢啊




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