用于短计算机任务的JavaScript代码

用于短计算机任务的JavaScript代码,javascript,performance,Javascript,Performance,我对JavaScript编程非常陌生,希望能在这方面得到任何帮助 我正在尝试编写一个分为4个游戏的任务。每个游戏都有相同的结构-屏幕上会出现一个刺激(每个游戏中的图像不同),然后您有两个选择-1)按“回车”继续玩以查看“结果”图像(每个游戏中的图像不同)或2)按“空格键”停止玩并累积到该点的积分。如果你决定继续比赛,“结果”图像将显示,它将显示你是赢还是输一分。当你以50分和超过100次试玩开始游戏时,每10次试玩的“胜利”百分比从90%下降到0% 建立这些试验并收集此类数据的最佳方法是什么?目

我对JavaScript编程非常陌生,希望能在这方面得到任何帮助

我正在尝试编写一个分为4个游戏的任务。每个游戏都有相同的结构-屏幕上会出现一个刺激(每个游戏中的图像不同),然后您有两个选择-1)按“回车”继续玩以查看“结果”图像(每个游戏中的图像不同)或2)按“空格键”停止玩并累积到该点的积分。如果你决定继续比赛,“结果”图像将显示,它将显示你是赢还是输一分。当你以50分和超过100次试玩开始游戏时,每10次试玩的“胜利”百分比从90%下降到0%

建立这些试验并收集此类数据的最佳方法是什么?目前,我对100项试验做出了100个响应:

correctresponse = [“spacebar_code”, “enter_code”, “enter_code”, “enter_code” ….]
类似地,我已经做出了100个结果响应: 结果=[“image1.jpg”、“image2.jpg”…]

我也不确定如何设置一些关键功能。我现在捕获按键的功能是:

function getKeyTest(keyStroke) {
    isNetscape=(document.layers);
    keyID = (window.event) ? event.keyCode : keyStroke.keyCode;
    eventChooser = (isNetscape) ? keyStroke.which : keyID;
    which = String.fromCharCode(eventChooser);

    for (i=0;i<response_keys.length;i++) {  
        if (which == response_keys[i]) {    
            rtEndTime = new Date(); 
            var currentRT = rtEndTime - rtStartTime; 
            trialRTs.push(currentRT);

            if (currentRT < 500) 
                rtUnder500++;
            } else if (currentRT > 10000) {
                rtOver10000++;
            }

            if (response_keys[i] == correctResponses[trialNumber]) { 
                accuracy[trialNumber] = 1;
                correctTotal = correctTotal + 1;
            } else {
                accuracy[trialNumber] = 0;
            }

        trial_outcome();
    }

    if (which == spacebar_code && trialTypes[trialNumber] == "test") {  //this does not seem to end the trial   
        save_data(); }
    }
}
函数getKeyTest(击键){
isNetscape=(document.layers);
keyID=(window.event)?event.keyCode:keyStroke.keyCode;
eventChooser=(isNetscape)?击键。哪个:键ID;
其中=String.fromCharCode(eventChooser);
对于(i=0;i 10000){
rtOver10000++;
}
if(response_keys[i]==correctResponses[trialNumber]){
精度[试验编号]=1;
correctTotal=correctTotal+1;
}否则{
精度[trialNumber]=0;
}
试验结果();
}
如果(which==spacebar\u-code&&trialTypes[trialNumber]==test”){//这似乎并没有结束试验
保存_数据();}
}
}
我的另一个问题是:

在4场比赛中,有4种不同的情况必须随机化

  • 提示,延迟
  • 提示,不要拖延
  • 没有提示,延迟
  • 没有提示,就没有延迟
  • 在哪里

    • 提示=在刺激物上方显示了一系列的点
    • 延迟=每次试验的结果与患者下一次作出反应的机会之间有5秒的延迟

    我不太确定在4场比赛中随机化4种情况的最佳方法是什么。我想我需要创建一个数组并执行一个随机播放函数,但是我如何定义该数组中的元素以包含两个不同的方面(提示和延迟)?

    旁注:您的代码中似乎缺少两个括号:(1)if的结束括号(which==response_keys[I]){,以及(2)if的开始括号(当前RT<500)。