You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多人问答游戏如何修改JS代码实现按答题先后顺序梯度计分

多人问答游戏计分规则修改方案

核心逻辑:新增每道题的答对人数计数变量,根据答对顺序赋值分值,删除答错扣分逻辑,调整跳题触发时机

修改要点

  • 新增全局变量currentQuestionCorrectCount,用于记录当前题目已答对的玩家数量,每次加载新题目时将该变量重置为0
  • 答对题目时根据当前计数判断应加分值:
    • 首次答对(计数为0)加2分
    • 第二次答对(计数为1)加1分
    • 第三次及以后答对不加分
  • 删除答错时的扣分逻辑,仅保留答错样式标记和音效
  • 调整原逻辑中答对即跳题的设置,改为累计2人答对后再触发下一题加载,避免第二个答对的玩家无法完成作答

修改后完整代码

// 新增全局变量,初始化值为0
let currentQuestionCorrectCount = 0;

function enableAnswering() {
    // 启用答案按钮点击功能
    document.querySelectorAll("#answers .optionblock").forEach((answer) => {
        answer.onclick = (e) => {
            const answerButton = answer;
            const playerAnswer = answer.dataset.answer;
            const playerNumber = Number(answerButton.dataset.player);
            const correctAnswer = options[thiskey];
            
            if (playerAnswer.toLowerCase() == correctAnswer.toLowerCase()) {
                answerButton.classList.add("correctAnswer");
                // 根据答对顺序加分
                if (currentQuestionCorrectCount === 0) {
                    scores[playerNumber] += 2;
                } else if (currentQuestionCorrectCount === 1) {
                    scores[playerNumber] += 1;
                }
                // 答对计数+1
                currentQuestionCorrectCount++;
                var plusAudio = new Audio("../audio/correct.mp3");
                plusAudio.play();
                // 满2人答对后再触发下一题
                if (currentQuestionCorrectCount >= 2) {
                    clearQuestionTimerManually();
                    setTimeout(() => {
                        // 加载新题之前重置答对计数
                        currentQuestionCorrectCount = 0;
                        loadNextQuestionInHTML();
                    }, 2000);
                }
            }
            else {
                answerButton.classList.add("wrongAnswer");
                var minusAudio = new Audio("../audio/Wrong.mp3");
                minusAudio.play();
            }
            finishGameAndShowResults();
            answer.onclick = () => {};
        };
    });
}

适配说明

如果你的游戏逻辑中存在答题倒计时结束自动跳题的场景,需要在倒计时结束触发下一题的逻辑里,同样加上currentQuestionCorrectCount = 0的重置代码,避免计数累计到下一道题。

内容的提问来源于stack exchange,提问作者Muhammad Shahzaib

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 19:48:00