我遇到了一个问题。我正在创建一个基于网络的游戏。它更像是基于实时网络的应用程序。我的球员可以建造建筑物。每个建筑物都有唯一的哈希ID。所有参数的建筑物都存储在SQL中。我想做的就是制造自动收集资源(黄金)的引擎。我不想用cron。我希望当我按下“引擎”时,它会开始收集黄金:
if( $sql['engine'] == 1 ){
//do the job..
}
我尝试过这种方法,但没有运气( collect.php ):
if( $sql['engine'] == 1 ){
mysql_query("UPDATE `info` SET `gold` = `gold` + 10 WHERE `building`='{$building}'");
}
index.php :
function enginestat() {
$("#EngineStatus").load("../job/collect.php?building=<?php echo $building; ?>", function () {
setTimeout( function () {
enginestat();
}, 1000);
});
}
$( function () {
enginestat();
});
我相信我做错了什么,但有人可以告诉我我做错了什么吗?我需要一个答案,我需要详细的信息。谢谢。
答案 0 :(得分:3)
您正在做的事情可以分解为一系列较小的步骤。例如,如果您每小时收集X金币,那么下次加载页面时您需要做的就是计算他们累积的差异金币。
每次检查时,都会在数据库中记录轮询时间。下次他们检查计算差分秒并插入支付多少。每小时100,可达到每秒100/3600。显然,您可以向上舍入以避免显示增量值。