dongyushen9063 2016-05-04 14:26
浏览 41
已采纳

我正在尝试为我的计算机科学课做一个骰子游戏[关闭]

My goal is to get user input using a drop-down list so that when the user submits their "guess", the page reloads the random dice generator and checks to see if the user “guessed” correctly. I put my code below, any help would be greatly appreciated.

    <body>
<h1>Dice Game!</h1><br>

    <hr size="2" />        
<form name="form1" action="activity-dice-game.php" method="POST">
           <select name="number" class="fancyInput">
        <option value="">Choose a Number</option>      
        <option value="one">1</option>
        <option value="two">2</option>
        <option value="three">3</option>
        <option value="four">4</option>
        <option value="five">5</option>
        <option value="six">6</option>
        </select></br><br><br>
        <input type="submit" value="Submit" name="subBtn" class="btn"></input>
</form>

    <?php
if ($_POST['subBtn'])

$number = $_POST['number'];
$roll = rand(1, 6);

    if ($number == "")
    echo "<p class='error'>Choose a Number!</p>";

    else if ($number == $roll) {
    echo "<p>Good Guess!</p><br>";
    echo  "<img src=http://bit.do/IcsDice" . $roll . " .\" title=\"dice\">";

    } else if ($number != $roll) {
    echo "<p>You guessed incorrectly, Too Bad.</p><br>";
    echo  "<img src=http://bit.do/IcsDice" . $roll . " .\" title=\"dice\">";

    }

?>
  • 写回答

1条回答 默认 最新

  • du4373 2016-05-04 15:24
    关注

    Here is your simple solution:

    <?php
        $number     = isset($_POST['number']) ? $_POST['number'] : null;
        $roll       = rand(1, 6);
        $message    = "";
    
        if (!$number){
            $message.= "<p class='error'>Choose a Number!</p>";
        }else if($number == $roll){
            $message = "<p>Good Guess!</p><br>";
            $message.= "<img src='http://bit.do/IcsDice{$roll}' title='dice'>";
        }else{
            $message = "<p>You guessed incorrectly, Too Bad.</p><br>";
            $message.= "<img src='http://bit.do/IcsDice{$roll}' title='dice'>";
        }
    ?>
    
    <html>
        <head>
            <script type="text/javascript">
                function submitGuessForm(sender){
                    var guessForm       = document.forms[0]; //THE FIRST... & ONLY FORM IN THE PAGE...
                    var selectedOption  = sender.options[sender.selectedIndex].value;
    
                    if(!selectedOption || selectedOption == ''){
                        alert("Please, guess a Number to play the game.");
                    }else{
                        guessForm.submit();
                    }
                    return false;
                }
            </script>
        </head>
        <body>
            <h1>Dice Game!</h1><br><br>
    
            <hr size="2" /><br><br>
            <p class="error-box"><strong><?php echo $message; ?></strong></p>
            <!-- SUBMIT FORM TO THE SAME SCRIPT -->
            <form name="form1" action="" method="POST"> <!-- activity-dice-game.php -->
                <label for="die_choice">
                    HOW INTUITIVE ARE YOU? GUESS !!!<br />
                    <select name="number" id="die_choice" class="fancyInput" onchange="submitGuessForm(this);">
                        <option value="">Choose a Number</option>
                        <option value="1">1</option>
                        <option value="2">2</option>
                        <option value="3">3</option>
                        <option value="4">4</option>
                        <option value="5">5</option>
                        <option value="6">6</option>
                    </select>
                </label></br><br><br>
                <!-- NO NEED FOR THE SUBMIT BUTTON SINCE YOU CAN DIRECTLY SUBMIT THE FORM WHEN AN OPTION IS SELECTED - WITH JAVASCRIPT THOUGH -->
                <!-- <input type="submit" value="Submit" name="subBtn" class="btn"></input> -->
            </form>
        </body>
    </html>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料