javascript - 计算循环执行了多少次

标签 javascript arrays do-while

我被分配了一个创建骰子游戏的任务。游戏的目的是下注一定数量的美元,骰子会不断滚动,直到用户用完钱为止。我必须计算用户在钱用完之前掷骰子的次数并将其存储在数组中。我使用了 do..while 循环来执行掷骰子功能,我很困惑如何计算 do..while 循环运行的次数并将其存储在数组中。如果能朝正确的方向插入,我们将不胜感激,谢谢!

   <script>
        var rolls = new Array();
        var maxMoney = new Array();
        var rollCountMoney = new Array();
        function rollDice(){
        do {
        var userInput = parseInt(document.getElementById("bet").value); 
        var wallet = userInput; 
        var d1 = Math.floor(Math.random() * 6) + 1;
        var d2 = Math.floor(Math.random() * 6) + 1;
        var diceTotal = d1 + d2;
            if(diceTotal === 7) {
                document.getElementById("bet").value = wallet += 4;
                alert("your rolled a " +diceTotal +"! You win $4");
        } else {
                document.getElementById("bet").value = wallet -= 1;
                alert("your rolled a " +diceTotal +"! You lose $1");
            }
        } while (wallet > 0) { 
        }

        } 
    </script>
</head>
<body>          
    <div class="container-fluid">
        <div class="page-head"> 
            <h1 align="center">Lucky Sevens</h1>
        </div>
    </div>  
    <div class="container" align="center"> 
        <table style="border: 1px solid black"> 
            <tr>
                <th><h3 align="center">Lucky Sevens</h3></th>
            </tr>
            <tr>
                <td>
                    <form>
                        Starting Bet: 
                        <input id="bet" type="text"/>
                    </form>
                </td>   
            </tr>
            <tr>
                <td align="center">
                    <button onclick="rollDice()">Play</button>
                </td>
            </tr>
        </table>
    </div> 

最佳答案

根据您的代码和变量名称。您可以像这样保留结果...

var rolls = new Array();
var maxMoney = 0;//Max Money
var rollCountMoney = new Array();
var count = 0;

function rollDice() {
  do {
    count++;
    var userInput = parseInt(document.getElementById("bet").value);
    var wallet = userInput;
    var d1 = Math.floor(Math.random() * 6) + 1;
    var d2 = Math.floor(Math.random() * 6) + 1;
    var diceTotal = d1 + d2;
    rolls.push(diceTotal);//keep the roll
    rollCountMoney.push(wallet);//keep the wallet
    if(wallet > maxMoney){
      maxMoney = wallet;//keep the max money
    }
    if (diceTotal === 7) {
      document.getElementById("bet").value = wallet += 4;
      alert("Round:" + count + ",your rolled a " + diceTotal + "! You win $4");
    } else {
      document.getElementById("bet").value = wallet -= 1;
      alert("Round:" + count + ",your rolled a " + diceTotal + "! You lose $1");
    }
  } while (wallet > 0) {}
  var displayMsg = "You have rolled " + count + " times!";
  displayMsg += "<br>Rolls:" + rolls;
  displayMsg += "<br>maxMoney:" + maxMoney;
  document.getElementById("display").innerHTML = displayMsg;


}
<div class="container-fluid">
  <div class="page-head">
    <h1 align="center">Lucky Sevens</h1>
  </div>
</div>
<div class="container" align="center">
  <table style="border: 1px solid black">
    <tr>
      <th>
        <h3 align="center">Lucky Sevens</h3>
      </th>
    </tr>
    <tr>
      <td>
        <form>
          Starting Bet:
          <input id="bet" type="text" />
        </form>
      </td>
    </tr>
    <tr>
      <td align="center">
        <button onclick="rollDice()">Play</button>
      </td>
    </tr>
    <tr>
      <td align="center" id="display"></td>
    </tr>
  </table>
</div>

关于javascript - 计算循环执行了多少次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35029227/

相关文章:

java - 像这样压缩 do...while 是否违反 JLS 的理念?

java - 做猜谜游戏的 while 循环

javascript - 如何使用 jquery map ?

javascript - Angular,获取文本框的动态值到 Controller

javascript - 禁用输入打字

c - opendir 在 C 语言上无法获取缓冲区 char * 的内容?

java - 如何计算Android设备的屏幕开启时间

javascript - 如何运行验收测试?

javascript - 我将如何减少这个数组以便每个对象中的对象合并 javascript 但不知道键值名称

arrays - Mongodb 使用聚合框架过滤深度嵌套数组