基于Javascript的游戏

Javascript based game

本文关键字:游戏 Javascript 基于      更新时间:2023-09-26

所以我一直在尝试制作一个游戏,你可以下注,如果你赢了,你就可以获得利润,要想赢,你必须猜测骰子的正确结果(6面)。如果你得到了你的钱+利润,我有点成功,但它不会给你报酬。

如果你能帮我解决这个问题,谢谢。网站:http://csgodice.net16.net/dice.php

  • 编辑:添加了整个代码
  • 编辑:事情仍然打破了一个新的错误:游戏还没有定义。

    CSGODice.net

    <div id="header">
        <div id="navbar">
            <a class="nav1" href="/"><bold>HOME</bold></a>
            <a class="nav2" href="dice.php"><bold>DICE</bold></a>
            <a class="nav3" href="support.php">SUPPORT</a>
            <a class="balance" href="#">Gems: 0</a>
    <div id="steamLogon">
        <?php
            require 'steamauth/steamauth.php';
            if(!isset($_SESSION['steamid'])) {
            loginbutton("small"); //login button
            }  else {
            include ('steamauth/userInfo.php'); //To access the $steamprofile array
            //Protected content
            logoutbutton(); //Logout Button
        } 
        ?>
    </div>
        </div>
    <div id="dicelogo">
        <a href="/">
            <img src="img/logo.png" alt="logo" id="logo"/>
        </a>
    </div>
    </div>
    <div id="dicegame">
      <div id="diceholder">
        <h1>
          <div id="diceroller">
            <span id="value" class="lable_value">0</span>
            <script>
            var m = document.getElementsByClassName("balance");
            var o = document.getElementsById("diceroller");
            var w = document.getElementsByClassName("winchance");
            var uc = document.getElementsByClassName("userchoice").value;
            var b = document.getElementsById("bet").value;
            var p = document.getElementsById("profit");
            function game(event){
            var wn = Math.floor((Math.random() * 6) + 1);
            o.innerText = wn;
            if(uc.value == wn) {
                m.innerText = m.innerText + profit.innerText + b;
            } else {
                m.innerText = m.innerText - b;
            }
            }
    
            </script>
          </div>
        </h1>
        <h3>
          <div class="winchance">1 - 6</div>
        </h3>
      </div>
      <div id="inputholder">
        <div id="input">
          <div class="betamount">
            <b>Gems to bet:</b>
          </div>
          <form class="input-money">
            <b><input id="bet" oninput="edValueKeyPress()" type="number" name="bet" style="color: #404040;" class="form-control" min="0.10" step="any" max="1000.00" value="1.00"></b>
          </form>
          <div class="profitamount">
            <b>Profit:</b>
          </div>
          <div id="profit">
          </div>
          <div id="userchoicetext"><b>Prediction:</b></div>
          <form>
          <input id="userchoice" oninput="edValueKeyPress()" type="number" name="choice" style="color: #404040" class="form-choice" min="1" step="any" max="6" value="1"/>
          </form>
          <button id="playgame" onclick="game()">Throw!</button>
        </div>
      </div>
    </div>
    <script>
      var input = document.getElementsByClassName("form-control");
      function edValueKeyPress(event)
      {
        var input = document.getElementById("bet").value;
        var x = document.getElementById("profit");  // Find the elements
        x.innerText= input * 0.68;    // Change the content
        var n = event.toFixed(2);
      }
    </script>
        </div>
        </div>
    </div>
    

这里有几个错误:

首先是一个简单的拼写错误:
你在这里定义一个变量

var b = document.getElementsById("bet").value;

尝试将其作为bet 访问

m.innerText = m.innerText + profit.innerText + bet;

下一个失误:getElementsById必须是getElementById

下一个:getElementsByClassName返回一个node数组,而不仅仅是它找到的第一个节点,因此var uc = document.getElementsByClassName("userchoice").value;是一个错误。

您调试的代码:

    var m = document.getElementsByClassName("balance")[0];
    var o = document.getElementById("diceroller");
    var w = document.getElementsByClassName("winchance")[0];
    var uc = document.getElementsByClassName("userchoice")[0].value;
    var bet = document.getElementById("bet").value;
    var p = document.getElementById("profit");
    function game(event){
       var wn = Math.floor((Math.random() * 6) + 1);
       o.innerText = wn;
       if(uc.value == wn) {
          m.innerText = m.innerText + profit.innerText + bet;
       } else {
          m.innerText = m.innerText - b;
       }
    }  

我强烈建议给这些特定的元素一个ID,并通过它找到它们,而不是类名。

所有这些错误都显示在控制台中,一个接一个。将来可以使用它自己调试代码!