2014-05-01 116 views
0

我正在制作一个游戏与PHP的MySQL和jQuery,其中涉及在30秒内找出两个图像中的5个差异。一切正常,但一些用户可以提交得分(找到所有5个差异所需的时间),例如0.008秒,即使您多次播放相同图像并用全部5个手指触摸屏幕,这几乎是不可能的。PHP的MySQL的JavaScript游戏与倒计时计时器

任何想法这可能是怎么可能的?理论上是明智的。以下是倒数计时器代码。

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); 
} 
+0

他们可能在前端找到了一些缺陷(我猜jquery),这让他们立即提交一个需要0.008秒处理时间的成功。我认为这个问题不在这个代码中。 – kpp

+0

我甚至尝试从浏览器中禁用JS,但这样做不会显示弹出窗口来提交分数。只有当全部5个差异被点击时,弹出窗口才显示提交分数。真奇怪!但只是找不到问题:( – Kunal

+0

你知道,javascript和html代码可以改变localy到喜欢的用户,比如删除检查是否发现5个差异的检查 – kpp

回答

0

从信息中收集您给我的评论我认为问题位于您执行检查的位置。发生此错误时,以下可能发生在应用程序中。

  1. 当游戏开始时,它启动计时器。
  2. 应用程序如果分歧尚未发现
  3. 这里出现错误,应用程序立即接收到所有的差异都被发现然后不断地检查。
  4. 游戏停止计时器并显示大约0.001-0.008秒的胜利弹出。
  5. 整个过程需要0.001-0.008秒左右的时间来解释分数。

因此,您应该检查它检查差异的部分中的错误。你发布的代码工作正常,并没有发现错误。

记住浏览器兼容性问题,也许这个错误只发生在某些浏览器上。

+0

浏览器兼容性和其他检查已经到位。如果发现差异,系统不会持续检查。当发现差异时,计时器停止并显示一个弹出窗口。如果计时器变为0,则页面将重定向,如您在发布的代码中所看到的。 – Kunal

+0

是这个应用程序在线,如果是这样发布的链接。 – kpp

+0

Nah不在线...这是在线,但由于这个问题不得不把它拿下来。抱歉! – Kunal