我要寫一個元素精靈系統,
如要帶着精靈,就要有足夠的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编辑过] |