幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1379|回复: 0

[原创]元素精靈系統(一)

[复制链接]

27

主题

94

帖子

854

积分

⑤进阶

积分
854
发表于 2005-8-29 20:09:48 | 显示全部楼层 |阅读模式
我要寫一個元素精靈系統,
如要帶着精靈,就要有足夠的int才行。
我用array去記錄各種資料,看看怎樣做。

class ElementalSpirit

  attr_reader :name     #要貼着":"才行
  attr_reader :spirits
  
  def initialize
    @name = []     #元素精靈的名字
    @int=[]     #元素精靈所需的int
    @consumeint = 0     #已佔用的int
    @spirits=[]     #使用中的元素精靈
  end

  def create(name, int)
    @name.push(name)
    @int.push(int)
    # 系統用,新增元素精靈
  end

  def enoughint?(spirit_id)
    totalint = 0
    for actor in $game_party.actors
      totalint += $data_actors[actor.actor_id].parameters[5, actor.level]
    end
    #取得所有人int總和
    if totalint < @consumeint + @int[spirit_id]
      return false
    end
    return true
  end

  def add(spirit_id)
    if @spirits.size >= 5
      @error = 1
    else if @spirits.include?(spirit_id)
      @error = 2
    else if not enoughint?(spirit_id)
      @error = 3
      #@error
是不能加入的原因
    else
      @spirits.push(spirit_id)
      @consumeint += @int[spirit_id]
      #加上加入元素精靈的所需int
      @error = 0
    end
  end

  def delete(spirit_id)
    if not @spirit.include?(spirit_id)
      @error = 1
      #@error是不能退出的原因
    else
      @spirit.delete(spirit_id)
      @consumeint -= @int[spirit_id]
      #減少退出元素精靈的所需int
      @error = 0
    end
  end

end

其實還有許多地方要更改一些設定,
下次我們會繼續研究!
[此贴子已经被作者于2005-8-29 20:12:37编辑过]
天空工作室 http://skystudio.no-ip.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2025-6-23 21:44 , Processed in 0.009879 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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