gpt4 book ai didi

javascript - 使用原始 Javascript 创建 Lucky 7 的游戏,我做错了什么?

转载 作者:行者123 更新时间:2023-12-03 06:53:56 25 4
gpt4 key购买 nike

我决定了解堆栈溢出的明智之处,希望能对我的问题有所了解。我是 javascript 的新手,我就读的学校给了我们一项任务来创建 Lucky 7 的程序。

说明是用户下注,单击“开始”,然后掷出两个骰子。如果骰子总数为 7,则在用户赌注中添加 4 美元,如果不是,则减去 1 美元。

一旦玩家达到 $0,就会显示一个显示结果的表格。显示的结果是“开始投注”、“破产前的总投注数”、“赢得的最高金额”和“从最高赢得金额算起的投注数”。

到目前为止,我已经完成了大部分工作,但结果总是相似的:所有结果都与起始投注相同,除了赢得的最高金额总是比起始投注少 1。

这可能与我的 while 循环有关吗?我尝试过移动一些东西并将赋值运算符更改为 += 而不是 bet = bet + 4,但它总是相同的。任何意见将不胜感激!

function hideResults() {
document.getElementById("results").style.display = "none";
}

function play() {
var startingBet = document.getElementById("betInput").value;
var bet = startingBet;
var dice1 = Math.floor(Math.random() * 6) + 1;
var dice2 = Math.floor(Math.random() * 6) + 1;
var diceRoll = dice1 + dice2;
var betsArray = [];

while (bet > 0) {
if(diceRoll != 7) {
bet -= 1
} else {
bet += 4
}
betsArray.push(bet)
}

var rollCounter = betsArray.length;
var highestAmount = Math.max.apply(Math, betsArray);
var highestPosition = betsArray.indexOf(highestAmount);
var rollsFromHighest = rollCounter - highestPosition;

function showResults() {
document.getElementById("results").style.display = "inline";
document.getElementById("playButton").innerHTML = "Play Again";
document.getElementById("resultsBet").innerHTML = "$" + startingBet +".00";
document.getElementById("resultsRollCounter").innerHTML = rollCounter;
document.getElementById("resultsHighestHeld").innerHTML = "$" + highestAmount + ".00";
document.getElementById("resultsRollsFromHighest").innerHTML = rollsFromHighest;
};

showResults();
}

HTML:

<!DOCTYPE html>
<html>
<head>
<title>Lucky Sevens</title>
<link href="css/LuckySevensStyles.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="js/LuckySevensV1.js"></script>
</head>
<body onload="hideResults()">

<!-- BET STUFFS -->

<div id="gameDiv">
<h1>Lucky Sevens</h1>
<span>Starting Bet:<input type="number" name="Starting Bet" id="betInput" placeholder="$0.00"></span>
<br/>
<button onclick="play()" id="playButton">Play</button>
</form>
</div>

<!-- RESULT STUFFS -->

<div id="results">
<table>
<caption><h2>Results</h2></caption>
<tr>
<th>Starting Bet</th>
<th id="resultsBet"></th>
</tr>
<tr>
<td>Total Rolls Before Going Broke</td>
<td id="resultsRollCounter"></td>
</tr>
<tr>
<td>Highest Amount Won</td>
<td id="resultsHighestHeld"></td>
</tr>
<tr>
<td>Roll Count at Highest Amount Won</td>
<td id="resultsRollsFromHighest"></td>
</tr>
</table>
</div>
</body>
</html>

最佳答案

VARIABLE diceRoll 不会重新计算随机数。将更新的赌注推送到数组后,您应该在循环中重新分配随机数。

如果需要,您可以编写一个函数来处理此问题,但将 dice1 和 dice2 以及 diceRoll var 实例化中的行复制并粘贴到 if block 之后的循环中也同样容易

关于javascript - 使用原始 Javascript 创建 Lucky 7 的游戏,我做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37368351/

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