【益智游戏】开锁小游戏+ChatGPT写html代码
导读:跟军哥吃饭聊天,说到一些个有意思的思维题目,说是小学五年级的题目,我竟然想了好久,问的GPT才恍然大悟!哈哈,记录下,顺便给小孩讲讲 + 在网页上玩一玩!游戏规则: 密码锁有3位,每位只能是0或者1,现在锁坏掉了,你只要猜对密码的任意两位...
跟军哥吃饭聊天,说到一些个有意思的思维题目,说是小学五年级的题目,我竟然想了好久,问的GPT才恍然大悟!哈哈,记录下,顺便给小孩讲讲 + 在网页上玩一玩!
游戏规则:
密码锁有3位,每位只能是0
或者1
,现在锁坏掉了,你只要猜对密码的任意两位数字,就可以打开这把锁。
请你尽可能用最少的次数打开它!
解题思路: 一共有8种可能的密码:
000
001
010
100
101
110
101
111
注意:我们只要任意答对2位
就可以了。
- 如果我们一开始第一次猜就打开了锁。恭喜你运气超级好!
- 如果第一次没有打开锁,说明我们只猜对了
1位
或者0位
数字,那我们对所有的数字取反(0变成1,1变成0),是不是就可以在第二次猜对2位
或者3位
数字,即满足要求(猜对任意两位数字)打开了锁
所以我们最多只需要2次就可以打开这把锁哦!
下面我们用 chatgpt 来生成一个网页版的小游戏
然后粘贴到一个txt
文档里,再简单修改下+改下后缀名为 html
就可以了。
直接贴出html
代码
!DOCTYPE html>
html>
head>
title>
密码游戏/title>
style>
.button {
width: 100px;
height: 50px;
font-size: 18px;
}
/style>
/head>
body>
h1>
密码游戏/h1>
h2>
游戏规则:密码锁有3位,每位只能是0或者1,现在锁坏掉了,你只要猜对密码的任意两位数字,就可以打开这把锁。请你尽可能用最少的次数打开它!/h2>
button class="button" id="startButton" onclick="startGame()">
开始/button>
button class="button" id="resetButton" onclick="resetGame()" disabled>
重玩/button>
br>
br>
button class="button" id="button1" onclick="toggleButton(1)">
*/button>
button class="button" id="button2" onclick="toggleButton(2)">
*/button>
button class="button" id="button3" onclick="toggleButton(3)">
*/button>
br>
br>
button class="button" id="confirmButton" onclick="confirmPassword()" disabled>
确认密码/button>
br>
br>
h3>
确认次数: span id="counter">
0/span>
/h3>
script>
var password = generateRandomBinaryPassword(3);
// 设置密码
var guess = "abc";
// 用户猜测的密码
var counter = 0;
// 确认次数
function generateRandomBinaryPassword(length) {
var password = "";
for (var i = 0;
i length;
i++) {
password += Math.round(Math.random());
}
return password;
}
function startGame() {
document.getElementById("startButton").disabled = true;
document.getElementById("resetButton").disabled = false;
document.getElementById("button1").disabled = false;
document.getElementById("button2").disabled = false;
document.getElementById("button3").disabled = false;
document.getElementById("confirmButton").disabled = false;
}
function resetGame() {
document.getElementById("startButton").disabled = false;
document.getElementById("resetButton").disabled = true;
document.getElementById("button1").innerHTML = "*";
document.getElementById("button2").innerHTML = "*";
document.getElementById("button3").innerHTML = "*";
document.getElementById("button1").disabled = true;
document.getElementById("button2").disabled = true;
document.getElementById("button3").disabled = true;
document.getElementById("confirmButton").disabled = true;
document.getElementById("counter").innerHTML = "0";
guess = "abc";
counter = 0;
password = generateRandomBinaryPassword(3);
}
function toggleButton(buttonId) {
var button = document.getElementById("button" + buttonId);
if (button.innerHTML === "0") {
button.innerHTML = "1";
}
else {
button.innerHTML = "0";
}
}
function confirmPassword() {
var button1Value = document.getElementById("button1").innerHTML;
var button2Value = document.getElementById("button2").innerHTML;
var button3Value = document.getElementById("button3").innerHTML;
guess = button1Value + button2Value + button3Value;
counter++;
document.getElementById("counter").innerHTML = counter;
if (hasMatchingDigits(guess, password)) {
alert("您猜对至少两位密码已打开锁。\n原密码是: " + password + "\n您猜的是: " + guess + "\n共猜了" + counter + " 次。");
}
else {
alert("密码错误!请重新尝试。");
}
}
function hasMatchingDigits(str1, str2) {
var matchingDigits = 0;
for (var i = 0;
i str1.length;
i++) {
if (str1[i] === str2[i]) {
matchingDigits++;
}
}
return matchingDigits >
= 2;
}
/script>
/body>
/html>
我的CSDN博客地址 https://michael.blog.csdn.net/
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 【益智游戏】开锁小游戏+ChatGPT写html代码
本文地址: https://pptw.com/jishu/504578.html