gpt4 book ai didi

JavaScript 和 HTML 链接

转载 作者:行者123 更新时间:2023-11-28 18:56:56 25 4
gpt4 key购买 nike

我正在开发一个石头、剪刀、布 javascript 游戏。但是,当我运行它时,我在获取 HTML 和 JS 进行通信时遇到了问题。

我有三个按钮,它们应该将字符串传递给 JS,JS 将其与分配给计算机播放器的随机值进行比较。

非常感谢任何帮助使其发挥作用的帮助。谢谢

   

var choicePrompt = "Please, pick your poison.";
var victory = "Congrats, you Won!";
var defeat = "Sorry, you Lost";
var catsgame = "It's a draw!";

function run(userIn) {
var loop = true;
var winner;
var scoreCount = 0;

document.getElementById("prompt");

while (loop)
{
compChoice = Math.random();
compChoice = stringify(compChoice);
userChoice = userIn;

if (compChoice === "SOMETHING WENT WRONG")
{
document.getElementById("prompt").alert("JAVASCRIPT ERROR");
}

winner = victor(userIn, compChoice);

switch (winner) {
case "WIN":
scoreCount += 1;
document.getElementById("score") = "Score: " + scoreCount;
document.getElementById("prompt").innerHTML = victory;
break;

case "LOSS":
scoreCount -= 1;
document.getElementById("score") = scoreCount;
document.getElementById("prompt").innerHTML = defeat;
break;

case "DRAW":
document.getElementById("prompt").innerHTML = catsgame;
break;

case "ERROR":

default:
document.getElementById("prompt").innerHTML = "Something went wrong";
}
loop = false;
}
}

function stringify(float) {
if (float <= 0.33)
{
return "ROCK";
}
else if (float > 0.33 && float <= 0.66)
{
return "PAPER";
}
else if (float > 0.66)
{
return "SCISSORS";
}
else
{
return "SOMETHING WENT WRONG";
}
}

function victor(user, comp) {
switch (user)
{
case "ROCK":
switch (comp)
{
case "ROCK":
return "DRAW";
break;
case "SCISSORS":
return "WIN";
break;
case "PAPER":
return "LOSS";
break;
default:
return "ERROR";
}
break;
case "PAPER":
switch (comp)
{
case "ROCK":
return "WIN";
break;
case "SCISSORS":
return "LOSS";
break;
case "PAPER":
return "DRAW";
break;
default:
return "ERROR";
}
break;
case "SCISSORS":
switch (comp)
{
case "ROCK":
return "LOSS";
break;
case "SCISSORS":
return "DRAW";
break;
case "PAPER":
return "WIN";
break;
default:
return "ERROR";
}
break;
default:
return "ERROR";
}
}
        <!DOCTYPE html>
<html>
<head lang="en">
<meta charset="utf-8">
<title>Rock Paper Scissors</title>
<link rel="stylesheet" href="../assets/css/hmwk-3.css" />
<script source src="play.js"></script>
</head>


<header>
<h2>Rock, Paper, Scissors</h2>

<nav>
<a href="index.html">Homework Home</a> |
<a href="welcome.html"> Play Rock, Paper, Scissors</a>
</nav>
</header>


<body>
<h3 id="prompt">Please, pick your poison.</h3><br>
<h3 id="score">Score: 0</h3>

<table>
<td>
<input type="image" src="../assets/hmwk-3/rock.png" onclick="run('ROCK')" />
</td>
<td>
<input type="image" src="../assets/hmwk-3/paper.png" onclick="run('PAPER')" />
</td>
<td>
<input type="image" src="../assets/hmwk-3/scissors.png" onclick="run('SCISSORS')" />
</td>
</table>
</body>
</html>

我更新了代码,但胜利声明没有更新。如果我选择 Paper 作为输入,我只能让它达到“平局”。我还希望它无限运行,直到用户离开页面,我是否需要循环来执行此操作,或者如果他们选择不同的图片,在没有循环的情况下它会正常工作吗?感谢您的参与

最佳答案

这在 FF 中有效。我能够显示所有 3 个条件。您没有将 loop 设置为 false,这会创建无限循环,并且 DRAW 情况引入了一个尚未声明的变量。这当然可以重构,我将把它作为OP的练习

首先将无限循环归功于@pL4Gu33。

var choicePrompt = "Please, pick your poison.";
var victory = "Congrats, you Won!";
var defeat = "Sorry, you Lost";
var catsgame = "Kiss yer sister";

function run(userIn) {
var loop = true;
var winner;
var scoreCount = 0;

while (loop)
{
compChoice = Math.random();
compChoice = stringify(compChoice);
userChoice = userIn;

if (compChoice === "SOMETHING WENT WRONG")
{
document.getElementById("prompt").alert("JAVASCRIPT ERROR");
loop = false;
}

winner = victor(userIn, compChoice);

switch (winner) {
case "WIN":
document.getElementById("prompt").innerHTML = victory;
loop = false;
break;

case "LOSS":
document.getElementById("prompt").innerHTML = defeat;
loop = false;
break;

case "DRAW":
document.getElementById("prompt").innerHTML = catsgame;
loop = false;
break;

case "ERROR":
loop = false;
break;
default:
loop = false;
document.getElementById("prompt").innerHTML = "Something went wrong";
}
}
}

function stringify(float) {
if (float <= 0.33)
{
return "ROCK";
}
else if (float > 0.33 && float <= 0.66)
{
return "PAPER";
}
else if (float > 0.66)
{
return "SCISSORS";
}
else
{
return "SOMETHING WENT WRONG";
}
}

function victor(user, comp) {
switch (user)
{
case "ROCK":
switch (comp)
{
case "ROCK":
return "DRAW";
break;
case "SCISSORS":
return "WIN";
break;
case "PAPER":
return "LOSS";
break;
default:
return "ERROR";
}
break;
case "PAPER":
switch (comp)
{
case "ROCK":
return "WIN";
break;
case "SCISSORS":
return "LOSS";
break;
case "PAPER":
return "DRAW";
break;
default:
return "ERROR";
}
break;
case "SCISSORS":
switch (comp)
{
case "ROCK":
return "LOSS";
break;
case "SCISSORS":
return "DRAW";
break;
case "PAPER":
return "WIN";
break;
default:
return "ERROR";
}
break;
default:
return "ERROR";
}
}

关于JavaScript 和 HTML 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33424897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com