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

Project1

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

[难以理解的脚本]计算旅馆费用

[复制链接]
梦石
0
星屑
105
在线时间
297 小时
注册时间
2009-1-7
帖子
216
跳转到指定楼层
1
发表于 2015-6-26 00:12:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 timiesea 于 2015-6-26 00:58 编辑

#encoding:utf-8
#==============================================================================
# ■ Game_Timiesea
#------------------------------------------------------------------------------
#   管理一些需要即时计算的类。
#   本类的实例请参考 $game_tim 。
#==============================================================================
class Game_Timiesea
  #--------------------------------------------------------------------------
  # ● 初始化对象
  #--------------------------------------------------------------------------
  def initialize
  end
  
  #--------------------------------------------------------------------------
  # ● 在事件中,使用$game_tim.getINN获取旅馆住宿的费用
  # 包含未上场队友,每损失1点生命值按照游戏难度需要支付金币
  # 如果处于不可战斗状态,则需要的金币数量翻倍
  # 魔法值的回复费用是生命值的一半。旅店休息强制驱散所有状态
  # 费用列表:0.5(简单),1(普通),2(困难)
  #--------------------------------------------------------------------------
  def getINN
    gold = 0;#最终的计算结果,这里进行初始化
    xInn = 0.5;#倍率初始化
    xInn = $game_variables[13] * 0.5;#倍率和难度有关
    if xInn == 1.5 then#困难难度的倍率是2而不是1.5
      xInn = 2;
    end
    actors = $game_party.all_members;
    actors.each{#遍历队伍的所有成员,包含未出战
      |actor|
      xhp = actor.mhp - actor.hp;#计算出每一个角色所损失的生命值
      xmp = (actor.mmp - actor.mp) / 2;#计算出每一个角色所损失的魔力值
      x = xhp + xmp;#将计算的结果进行累加,作为一个角色的费用
      if actor.state?(1) then#如果拥有战斗不能的状态则费用翻倍
        x = x * 2;
      end
      gold = gold + x;
    }
    gold = (gold * xInn).to_i;
    return gold;
  end
end
游戏群组:https://rpg.blue/forum.php?mod=group&fid=565在这里你可以看到我在制作游戏过程中分享的内容。
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-4-29 20:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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