Php mysql javascript游戏与倒计时器

时间:2014-05-01 07:59:28

标签: javascript php mysql timer countdown

我正在使用php mysql和jquery进行游戏,其中包括在30秒内找出两个图像中的5个差异。一切正常,但有些用户可以提交分数(找到所有5个差异的时间),如0.008秒,即使您多次播放相同的图像并用所有5个手指触摸屏幕,这几乎是不可能的。

知道这怎么可能吗?只是理论明智。以下是倒计时器代码。

var end = new Date();
var temp = new Date();
end.setSeconds(temp.getSeconds()+30);

var _second = 1000;
var _minute = _second * 60;
var _hour = _minute * 60;
var _day = _hour *24;
var timer;

function showRemaining()
{
    var now = new Date();
    var distance = end - now;
    if (distance < 0 ) {


    }
    var days = Math.floor(distance / _day);
    var hours = Math.floor( (distance % _day ) / _hour );
    var minutes = Math.floor( (distance % _hour) / _minute );
    var seconds = Math.floor( (distance % _minute) / _second );
    var milliseconds = Math.floor(distance % _second);

    var countdownElement = document.getElementById('elapsed_time');
    //countdownElement.innerHTML = seconds + ':' + milliseconds;
    seconds=seconds+1;
    //countdownElement.innerHTML = '00:' + seconds.toString();
    var strmil = milliseconds.toString();
    if(strmil.length==3){
        strmil=strmil.substring(0, strmil.length - 1);
    }

    countdownElement.innerHTML = seconds + ':' + strmil;

    if( seconds==0){
        // handle expiry here..
       clearInterval( timer ); // stop the timer from continuing ..
       countdownElement.innerHTML = '00:00';
       setTimeout(function(){
        window.location='go to a page which shows the you timed out';
        }, 1000);
    }

}

if( $('#elapsed_time').length ){
    timer = setInterval(showRemaining, 10);
}

1 个答案:

答案 0 :(得分:0)

根据信息收集您给我的评论我认为问题出在您执行检查的地方。发生此错误时,应用程序可能会发生以下情况。

  1. 游戏开始时启动计时器。
  2. 然后,应用程序会不断检查是否已找到差异
  3. 此处发生错误,应用程序立即收到所有差异。
  4. 游戏停止计时器并以0.001-0.008秒左右显示胜利弹出窗口。
  5. 整个过程大约需要0.001-0.008秒才能解释得分。
  6. 因此,您应该检查检查差异的部分中的错误。您发布的代码工作正常,并且在那里找不到错误。

    请记住浏览器兼容性问题,可能只会在某些浏览器上出现此错误。