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

简易JavaScript数字游戏开发问题:需验证首个答案正确才可继续

解决方案

要实现必须答对首个答案(93)才能继续后续答题的功能,我们需要跟踪当前需要验证的目标答案,严格控制答题顺序。具体实现如下:

  • 新增currentIndex变量记录当前待验证答案在数组中的位置,初始值设为0(对应首个答案93)。
  • 点击校验按钮时,先过滤非数字输入,再将用户输入转为数字与当前目标答案对比。
  • 答对当前答案后,推进到下一题;答错则提示错误并清空输入,直到用户答对当前题才能继续。

修改后的完整代码:

let answerInput = document.getElementById("inpu");
let checkButton = document.getElementById("send");
let answers = [];
// 记录当前待验证的答案索引,初始指向第一个答案93
let currentIndex = 0;

for(let i = 100; i > 2;) {
  i -= 7;
  answers.push(i); // 生成序列:[93, 86, 79, ...]
}

checkButton.onclick = function(){
  const inputValue = answerInput.value.trim();
  
  // 处理非数字/空输入
  if(isNaN(inputValue) || inputValue === ""){
    answerInput.value = "";
    answerInput.placeholder = "请输入有效数字";
    return;
  }

  const userAnswer = Number(inputValue);
  const targetAnswer = answers[currentIndex];

  // 验证当前答案
  if(userAnswer === targetAnswer){
    alert(`回答正确!继续下一题`);
    answerInput.value = "";
    // 推进到下一题,若还有未完成的题目
    if(currentIndex < answers.length - 1){
      currentIndex++;
    } else {
      alert(`所有题目已完成!`);
      checkButton.disabled = true; // 完成后禁用按钮
    }
  } else {
    alert(`回答错误,请重新输入`);
    answerInput.value = "";
  }
}

关键逻辑说明

  • currentIndex变量:强制答题顺序,只有答对当前索引对应的答案,才能解锁下一题,确保用户必须先通过93的验证才能继续后续内容。
  • 输入校验:补充空值判断,避免用户输入空格或空内容导致的逻辑异常。
  • 完成状态处理:所有题目答对后禁用按钮并给出提示,优化交互闭环。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 12:10:37