猜数字游戏

猜数字游戏

  • 规则:输入一个数字,随机产生一个1~10的整数,把猜的数填入文本框,如果猜的数小了,提示“猜小了“,猜大了就提示“猜大了”,如果相等,提示“猜对了”,并重新产生随机数,进行下一次游戏。
  • d1.php
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>猜数字</title>
  <style>
  
    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>
  <form action="check.php" method="get">
     <?php if (isset($message)): ?>
  <p><?php echo $message; ?></p>
  <?php endif ?>
    <fieldset>
      <h1>猜数字游戏</h1>
      <legend>填一个1~10的整数</legend>
      <div>
           <input type="number" name="num" placeholder="随便猜">
    <button type="submit">猜一猜</button>
        </div>
   
  </form>
</body>
</html>
  • check.php
<?php

if (empty($_COOKIE['num']) || empty($_GET['num'])) {
  // 在游戏开始时执行生成随机数
  $num = rand(1, 10);
  // 不能存在文件中,因为有可能同时有多个用户使用
  // file_put_contents('number.txt', $num);
  // 因为 cookie 是每个用户自己保存,每个用户存的是属于自己的要猜的数字
  setcookie('num', $num);
} else {
  // 用户来试一试 猜了一次
  // 还是通过cookie记录之前输入的内容
  $count = empty($_COOKIE['count']) ? 0 : (int)$_COOKIE['count'];

  if ($count < 10) {
    // 对比用户提交的数字和用户 Cookie 中存放的被猜的数字
    // $_GET['num'] => 用户试一试的数字
    // $_COOKIE['num'] => 被猜的数字
    $result = (int)$_GET['num'] - (int)$_COOKIE['num'];
    if ($result == 0) {
      echo  '猜对了';
      // 重新开始,删除cookie即可
      setcookie('num');
      setcookie('count');
    } elseif ($result > 0) {
       echo  '太大了';
    } else {
      echo  '太小了';
    }

    setcookie('count', $count + 1);
  } else {
    // 游戏结束
    echo 'looooooooooooow!';
    setcookie('num');
    setcookie('count');
  }
}
  • d1.php 运行截图
    d1.php
  • check.php 运行截图
    check.php
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值