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

JavaScript石头剪刀布游戏:胜利后分数无法持续递增问题排查

问题原因与修复方案

核心问题

你的代码仅执行了一次游戏回合(最后一行仅调用了round()一次),因此分数最多只能递增1次。此外,无效输入的判断逻辑存在错误。

修复步骤

  1. 实现多回合游戏:通过循环让游戏可以重复进行,支持用户持续对战直到主动退出。
  2. 修正无效输入判断:原条件playerDecision != 'rock' || 'paper' || 'scissors'逻辑错误,改为检查输入是否属于有效选项集合。

修复后的完整代码

let Humanity = 0;
let AI = 0;

// 生成电脑随机选择
function getComputerChoice() { 
    const choices = ['rock', 'paper', 'scissors'];
    const randomChoice = Math.floor(Math.random() * choices.length);
    return choices[randomChoice];
}

// 单回合游戏逻辑
function round() {
    const computerChoice = getComputerChoice();
    const playerDecision = prompt('Make your decision! (rock/paper/scissors, type "quit" to exit)', '').toLowerCase();

    // 处理退出请求
    if (playerDecision === 'quit') {
        alert(`游戏结束!最终比分:人类 ${Humanity} - AI ${AI}`);
        return false; // 终止循环
    }

    // 校验输入有效性
    const validChoices = ['rock', 'paper', 'scissors'];
    if (!validChoices.includes(playerDecision)) {
        alert('Invalid, do not tempt me human!');
        return true; // 继续下一轮
    }

    // 胜负判断逻辑
    if (
        (playerDecision === 'rock' && computerChoice === 'scissors') ||
        (playerDecision === 'scissors' && computerChoice === 'paper') ||
        (playerDecision === 'paper' && computerChoice === 'rock')
    ) {
        Humanity += 1;
        alert(`Humanity wins! 你的分数:${Humanity}`);
    } else if (
        (playerDecision === 'rock' && computerChoice === 'paper') ||
        (playerDecision === 'scissors' && computerChoice === 'rock') ||
        (playerDecision === 'paper' && computerChoice === 'scissors')
    ) {
        AI += 1;
        alert(`AI wins! AI的分数:${AI}`);
    } else {
        alert(`平局!当前比分:人类 ${Humanity} - AI ${AI}`);
    }
    return true; // 继续下一轮
}

// 启动多回合游戏循环
while (round()) {}

关键改动说明

  • 新增退出机制:用户输入quit可结束游戏并查看最终比分
  • 优化胜负判断结构:用逻辑或合并同类条件,提升代码可读性
  • 修正输入校验逻辑:确保只有无效输入才触发提示
  • 通过while循环实现持续对战,每回合结束后自动进入下一轮,直到用户主动退出

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 03:42:52