• 猜数字案例


    一、方案一:使用post方法(基本版)

    <?php
        if($_SERVER['REQUEST_METHOD']==='GET'){
            //登录网站时,采用的是get的方法
            $num=rand(0,100);
            //不能存在文件中,因为有可能有多个用户使用
            //cookie是每个用户自己本地客户端保存的,每个用户存的都是自己要猜的数字
            setcookie('num',$num);
        }else{
            //用户点击了试一试,采用的是POST的方法
            //$_POST['num']是用户试一试的数字,$_COOKIE['num']是用户要猜的数字
            $result=(int)$_POST['num']-(int)$_COOKIE['num'];
            if($result==0){
                echo '猜对了';
            }elseif($result>0){
                echo '太大了';
            }else{
                echo '太小了';
            }
        }
    ?>
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>猜数字游戏</title>
        <style>
            body{
                padding: 100px 0;
                background-color: #2b3b49;
                color: #fff;
                text-align: center;
                font-size: 2.5em;
            }
            input{
                padding: 5px 20px;
                height: 50px;
                background-color: #3b4b59;
                border: 1px solid #c0c0c0;
                box-sizing: border-box;
                color: #fff;
                font-size: 20px;
            }
            button{
                padding: 5px 20px;
                height: 50px;
                font-size: 16px;
            }
        </style>
    </head>
    <body>
        <h1>猜数字游戏</h1>
        <p>hi,我已经准备了一个0-100的数字,你需要在仅有的10次机会之内猜对它</p>
        <!-- post方法 -->
        <form action="test.php" method="POST">
            <input type="number" min="0" max="100" name="num" placeholder="随便猜">
            <button type="submit">试一试</button>
        </form>
    </body>
    </html>

    二、方案二:使用get方法(完善版)

    • 基本概念的实现
    • 解决10次限制的问题
    • session解决F12可以查看密码的“漏洞”
    <?php
        //开启session
        session_start();
        if(empty($_COOKIE['num'])){
            //登录网站时,产生随机数
            $num=rand(0,100);
            //setcookie('num',$num);
            $_SESSION['num']=$num;
        }else{
            //设置次数限制
            $count=empty($_SESSION['count'])? 0 : (int)$_SESSION['count'];
            if($_COOKIE['count']<10){
                $result=(int)$_GET['num']-(int)$_SESSION['num'];
                if($result==0){
                    $message= '猜对了';
                    //游戏结束,出现开始,删除cookie(一个参数)
                    unset($_SESSION['num']);
                    unset($_SESSION['count']);
                }elseif($result>0){
                    $message= '太大了';
                }else{
                    $message= '太小了';
                }
                $_SESSION['count']=$count+1;
            }else{
                //游戏结束
                $message= '游戏结束';
                unset($_SESSION['num']);
                unset($_SESSION['count']);
            }
        }
    ?>
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>猜数字游戏</title>
        <style>
            body{
                padding: 100px 0;
                background-color: #2b3b49;
                color: #fff;
                text-align: center;
                font-size: 2.5em;
            }
            input{
                padding: 5px 20px;
                height: 50px;
                background-color: #3b4b59;
                border: 1px solid #c0c0c0;
                box-sizing: border-box;
                color: #fff;
                font-size: 20px;
            }
            button{
                padding: 5px 20px;
                height: 50px;
                font-size: 16px;
            }
        </style>
    </head>
    <body>
        <h1>猜数字游戏</h1>
        <p>hi,我已经准备了一个0-100的数字,你需要在仅有的10次机会之内猜对它</p>
        <?php if(isset($message)): ?>
            <p><?php echo $message; ?></p>
        <?php endif ?>
        <!-- GET方法 -->
        <form action="test.php" method="GET">
            <input type="number" min="0" max="100" name="num" placeholder="随便猜">
            <button type="submit">试一试</button>
        </form>
    </body>
    </html>

  • 相关阅读:
    关于软工文档规范性——国标文档
    关于游戏平衡性——王者荣耀野怪数值参考
    单元测试特性标签(结合代码)
    常用标签梳理
    图片文件的转换、加载及缩放显示
    认识ManualResetEvent
    HTML简介
    HTML基本结构
    15年,我在深圳
    为什么坚持,想一想当初
  • 原文地址:https://www.cnblogs.com/EricZLin/p/9216892.html
Copyright © 2020-2023  润新知