作者makoto63215 (隐匿的老头)
看板Ruby
标题[问题] 如何设定一个会变动的Parameter
时间Sun Jun 21 01:38:11 2009
环境:
e.g. Ruby 1.8.6 OS:Windows XP
大家好 我是程设新手 不好意思 可能标题会让很多人看不太懂
问题是这样 我在一个程式里要设定一个变数Capatity_cur
这个变数Capacity_cur会根据我的主程式而改变
我应该要如何设定这个变数
Capacity_cur:目前这一回合的能量
由於每一个成员在每一回合所做的动作不一样 所以能量也不一样
举例来说: Capacity_cur(meber18)!=Capacity_cur(meber37) 在Round34
程式大概是这样:
module Arc
InitialCapacity = 40000
end
Class XXX #XXX是类别的名称
include Arc
attr_accessor :capacity
............
............
.............
............
def initialize()
@capacity = Arc::InitialCapacity
@ID = id
............
end
.................
................
end
round = 0
============================ #以下为主程式
until mebers.empty? do
round += 1
mebers = Array.new{|meber| ........}
.......................
.......................
.......................
Dis = Capacity_cur/round
if .......... #以下的程式码会根据一些情况
capacity -= 80 #每回合每一个meber的capacity都会减少
elseif ....... #但是减少的量不同
capacity -= 40
else .............
capacity -= 20
end
.............
break if round = 50
end
exit(0)
我所想的方法是 定义一个新的杂凑.
程式码改写为:
mebers = Array.new{|| .........}
meber_capacity = {"meber.ID"=>"meber.capacity"}
..................
..................
Dis = meber_capacity["meber.ID"].to_i/round
但是没成功,想请问大家应该如何设定?
x
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.129.27.212
1F:→ godfat:对不起,真的没看懂,可否去掉程式用文字说明一次? 06/21 02:33
2F:→ godfat:例如第一回合有哪些数字,第二回合应该变哪些 06/21 02:33
3F:→ Schelfaniel:用杂凑应该可行,没成功的原因是?? 06/21 06:35
4F:→ Schelfaniel:meber_capacity = {"meber.ID"=>meber.capacity}这样? 06/21 11:54
5F:→ Schelfaniel:另,建议 Key 用 symbole 如 :member_id 这样 06/21 11:58
6F:→ Schelfaniel:symbol 06/21 19:13