function displayScoreMessage() { if (scoremessages[0]) { if (scoremessages[0] == flagwin) { // Win game showResultMessage("success"); } else { score = score + Number(scoremessages[0]); document.getElementById("scoreboard").innerHTML = 'Current Score: ' + score; if (score < -10) { // Lose game showResultMessage("fail"); } } scoremessages.shift(); } myTimeoutMessage = setTimeout(displayScoreMessage, 250); // 0.1 second } function CalculateScore(action) { if (action == 'c') { // correct timedecreasing = 0; scoremessages.push("10"); } else if (action == 'r') { // wrong timedecreasing = 0; scoremessages.push("-5"); } else if (action == 'w') { // win timedecreasing = 0; var dtObj = new Date(); dtGameEnd = dtObj.getTime(); totalTime = dtGameEnd - dtGameStart; var bonus = 0; if (totalTime < 5000) { // 5 sn bonus = 300; } else if (totalTime < 10000) { // 10 sn bonus = 130; } else if (totalTime < 20000) { // 20 sn bonus = 60; } else if (totalTime < 30000) { // 30 sn bonus = 22; } else if (totalTime < 40000) { // 40 sn bonus = 10; } else if (totalTime < 50000) { // 50 sn bonus = 4; } else if (totalTime < 60000) { // 60 sn bonus = 1; } scoremessages.push("50"); // completion points scoremessages.push(bonus); // bonus PlayBonus(); } else if (action == 'i') { // init timedecreasing = 1; } else { if (timedecreasing == 1) { scoremessages.push("-1"); } //var dtObj = new Date(); //dtGameStart = dtObj.getTime(); //dtLastCorrectAction = dtGameStart; } if (timedecreasing == 0) { timedecreasing = 1; } clearTimeout(myTimeout); // destroy timeout myTimeout = setTimeout(CalculateScore, 1000); // 1 second }