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

满足条件后如何修改对象属性?Yahtzee游戏按钮解锁问题

Yahtzee克隆版按钮解锁逻辑修复方案

你的代码崩溃是因为无限循环:当rollcount == 3时,进入while循环的条件是ptsss * 3 < 3(即ptsss < 1),但循环内部完全没有修改ptsss的值,导致这个条件永远成立,浏览器会一直执行循环直到卡死。

正确实现思路

不需要用while循环,分两步处理逻辑即可:

  1. 第三次掷骰子完成后,直接禁用掷骰子按钮
  2. 用户选择分数后,重置掷骰子次数并解锁按钮

修正后的代码示例

1. 处理第三次掷骰子后的按钮禁用

if (rollcount === 3) {
  // 掷满3次,直接禁用按钮
  document.getElementById("rollbutton").disabled = true;
}

2. 用户选择分数后的按钮解锁逻辑

// 假设这是用户点击分数选项的处理函数
function onScoreSelected() {
  // 已选分数数量加1
  ptsss++;
  // 重置掷骰子次数,准备下一轮
  rollcount = 0;
  // 解锁掷骰子按钮
  document.getElementById("rollbutton").disabled = false;
}

补充说明

如果需要严格对应你原本设想的ptsss * 3 == rollcount判断逻辑(比如确认已完成的轮次与掷骰子次数匹配),可以调整解锁条件:

function onScoreSelected() {
  ptsss++;
  // 验证轮次与掷骰子次数的匹配关系
  if (ptsss * 3 === rollcount) {
    rollcount = 0;
    document.getElementById("rollbutton").disabled = false;
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 04:09:22