当前位置: 首页 > news >正文

猜数字困难版(1-10000)

小游戏,通过提示每次猜高或猜低以及每次猜中的位数,10次内猜中1-10000的一个数。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>猜数字游戏困难版</title><style>body {text-align: center;padding-top: 20px;}</style>
</head>
<body>
<h1>猜数字游戏困难版</h1>
<p>我已经想了一个110000之间的数字。你有10次机会猜它是什么。</p>
<label for="guessInput">输入你的猜测:</label>
<input type="number" id="guessInput" required min="1" max="10000">
<button onclick="checkGuess()">!</button>
<button onclick="location.reload()">再来一局!</button>
<p id="output"></p>
<ol id="history"></ol>
<script>const secretNumber = Math.floor(Math.random() * 10000) + 1;let attempts = 10;const history = document.getElementById('history');const guessInput = document.getElementById('guessInput');const output = document.getElementById('output');function checkGuess() {const userGuess = parseInt(guessInput.value, 10);if (isNaN(userGuess)) {output.textContent = '请输入有效的数字!';return;}if (attempts > 0) {attempts--;const rightNum = countSameDigits(userGuess, secretNumber)const guessItem = document.createElement('li');if (userGuess === secretNumber) {output.textContent = '恭喜你!你猜对了!游戏胜利!';attempts = -1;} else if (userGuess < secretNumber) {output.textContent = '猜低了。再试一次。';} else if (userGuess > secretNumber) {output.textContent = '猜高了。再试一次。';}guessItem.textContent = `猜测: ${userGuess}${output.textContent};猜对了${rightNum}位数`;history.appendChild(guessItem);            if (attempts > 0) {output.textContent += ` 剩余次数: ${attempts}`;} else if (attempts == 0) {output.textContent = ' 游戏失败。正确答案是: ' + secretNumber;}}}function countSameDigits(a, b) {// 将数字转换为字符串const strA = a.toString();const strB = b.toString();// 确保两个字符串长度相同,较短的字符串前面补0const maxLength = Math.max(strA.length, strB.length);strA.padStart(maxLength, '0');strB.padStart(maxLength, '0');let count = 0; // 用于计数相同位上的相同数for (let i = 0; i < maxLength; i++) {if (strA[i] === strB[i]) {count++;}}return count;}
</script>
</body>
</html>
http://www.lryc.cn/news/437762.html

相关文章:

  • ASPICE术语表
  • Knife4j:打造优雅的SpringBoot API文档
  • 数学建模笔记—— 多目标规划
  • 【鸿蒙HarmonyOS NEXT】页面之间相互传递参数
  • SonicWall SSL VPN曝出高危漏洞,可能导致防火墙崩溃
  • 关于SAP标准委外(带料外协)采购订单信息
  • SpringBoot整合WebSocket实现消息推送或聊天功能示例
  • 使用 QEMU 模拟器运行 FreeRTOS 实时操作系统
  • Oracle EBS中AR模块的财务流程概览
  • Minitab 的直方图结果分析解释
  • AgentRE:用智能体框架提升知识图谱构建效果,重点是开源!
  • 力扣题解2390
  • 用Python获取PDF页面的大小、方向和旋转角度
  • 【即时通讯】轮询方式实现
  • Flock 明牌空投教程
  • 项目内部调用的远程接口开发
  • 影响IP代理池稳定性的因素有哪些?
  • 基于Prometheus和Grafana的现代服务器监控体系构建
  • 原生 input 中的 “type=file“ 上传文件
  • 【Unity新闻】Unity的产品命名变化
  • 《PostMan(一):配置全局令牌》
  • 如何理解Configurational entropy
  • H5端接入萤石监控
  • SSD1306 OLED显示屏驱动方案简介
  • React18快速入门
  • Day11笔记-字典基本使用系统功能字典推导式
  • Ribbon (WPF)
  • 解锁编程潜力,从掌握GitHub开始
  • HTML转义字符对照表
  • 【zabbix监控软件(配置及常用键值)】