作者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)
1F:→ luse:这种东西绝对不能在客户端计算啦 XD 不然大家一定超英赶美 06/29 12:50
2F:推 icenuclear:计算当然在伺服端 客户端是看到计算後的结果 06/29 13:26