0

很难解释为什么,但我会试着解释什么。可以说这是在键盘上快速敲击。您在两个键之间点击的速度越快,您的分数就越高(最后一部分未实施喷射)。此外,当您一个接一个地点击两个键时会更好。

想法是我从第一个键输入和第二个键输入时间读取时间以计算它们之间的时间 - 第一轮的增量。对于未来,我想将第一个增量(点击一个 - 分接二)与第二个增量(点击一个 - 分接二)进行比较。我无法进行比较,因为在第一轮点击之后(点击一个 - 点击第二个)我得到了两个增量并且大部分时间它们是相等的。

1.我做错了什么?我应该只获取所有输出并稍后进行比较吗?2. 另外,当我点击一个相同的键两次时,我该如何处理问题。我想注册,不要忽略它。

    var start1 = 0;
    var satrt2 = 0;
    function run(){
    first();
    second();
    }
    function first(){
    document.addEventListener('keydown',function(event){
        if(event.keyCode == 37){

        start1 = new Date().getTime();
        //console.log("L " + start);
        }
        else if(event.keyCode == 39){
            var delta1 = new Date().getTime() - start1;
            console.log("first round input is " + delta1 );
            start1 = 0; 
        }
    });
    }

    function second(){
    document.addEventListener('keydown',function(event){
        if(event.keyCode == 37){

        start2 = new Date().getTime();
        //console.log("L " + start);
        }
        else if(event.keyCode == 39){
            var delta2 = new Date().getTime() - start2;
            console.log("Second round input is " + delta2 );
            start2 = 0; 
        }
    }); 
    }


    window.onload = run; 
4

1 回答 1

0

我认为这将适用于您问题的第一部分。

var start1 = 0;
var start2 = 0;

function run(){
    first();
}

function first (){
    document.addEventListener('keydown',function(event){
        if (event.keyCode == 37){            
            start1 = new Date().getTime();
            
            if (start2) {
                console.log("first round input is " + (start1 - start2));
                start2 = 0;
            }
        
        } else if (event.keyCode == 39){
            start2 = new Date().getTime();
            
            if (start1) {
                console.log("second round input is " + (start2 - start1));
                start1 = 0;
            }

        }
    });
}

run()

我不太确定你的第二部分是什么意思。您是否要存储每个按键,然后在给出 start2 输入时输出所有 start1 输入之间的差异?如果是这种情况,可以将所有印刷机及其时间戳存储在一个数组中。

于 2014-12-04T22:45:35.167 回答