作者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