作者youngkai (年輕人)
看板CGI-Game
標題Re: [IKA]人口與金幣與時間之關係 演算模型推測與 …
時間Sun Jun 29 08:24:37 2008
※ 引述《icenuclear (藍色丁丁)》之銘言:
: ※ 引述《youngkai (年輕人)》之銘言:
: : 3/100是什麼?有這個隱藏常數嗎?
: 觀察的結果 同樣的S 會有兩種Growth
: 所以我猜測網頁上的數據是取捨之後的結果
: : 伺服器不會是紀錄c與K來算P吧
: : 我以為是紀錄current P、current S、current time
: : 每隔一個interval,跑一個function,得到新的P S
: 這樣伺服器的運算量會過大
: 如果是我就不會這樣設計
: 照我的演算法
: 只要在客戶端存取網頁的時候計算
: 每次改變K時 重計算其他參數即可
如果只要在客戶端存取網頁的時候計算
這樣你睡覺時,變數不會改變吧?那人口還是繼續長啊
所以應該是伺服器去計算且記錄的
而且由客戶端計算的話,有安全上的問題
也就是可以透過外掛修改封包,讓你的城鎮每天都綠臉 :)
他的程式碼,比較暴力的寫法是
double Population , Satisfaction;
double interval = 1;//幾個小時計算一次,若0.5則是一小時兩次
double Timer = 0;
while(Timer <= 0){
Population = getPopulation();
Satisfaction = getSatisfaction();
nextStage(Population,Satisfaction);
Timer = countDownTimer(Timer);
}
void nextStage(P,S) {
growth = (S+1.5)/50/interval;
Population = Population + growth;
Satisfaction = Satisfaction - growth;
Timer = 3600*interval;//重設計時器為幾秒
}
那個while你把他想成一個無窮迴圈,用Thread一直跑
沒仔細debug,大意就是每一段時間重新算Population跟Satisfaction
growth則是要增加的時候取得
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.168.201.177
※ 編輯: youngkai 來自: 218.168.201.177 (06/29 08:25)
→ luse:這種東西絕對不能在客戶端計算啦 XD 不然大家一定超英趕美 06/29 12:50
推 icenuclear:計算當然在伺服端 客戶端是看到計算後的結果 06/29 13:26