看板 CGI-Game 關於我們 聯絡資訊
※ 引述《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