PHP猜数字游戏

1、要求

输入一个数字。随机产生一个1~10的整数,用户把猜的数填入文本框,如果猜的数小了,提示“猜小了“,猜大了就提示“猜大了”,如果相等,提示“猜对了”,并重新产生随机数,进行下一次游戏。


2、概述

  • 两种方法:
    • 方法一:单独创建一个.php文件;
    • 方法二:将php代码写在html文件中;

3、源代码

方法一:

  • 创建z1.php文件(也可以是html文件)
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>猜数字</title>
	<style type="text/css">
		h2{
		     text-align: center;
		     color: #808080;
		}
		.fie{
			width: 500px;
			padding-left: 20px;
			margin-left: 510px;
			margin-top: 40px;
		}
		#numb{
			width: 480px;
			margin-top: 10px;
		}
		.but>button{
			width: 488px;
			margin-top: 10px;
			background-color: #eeeeee;
		}
	</style>
</head>
<body>
	<div>
		<h2>猜一猜</h2>
		<form action="c1.php" method="post">
			<fieldset class="fie">
				<legend>填入一个1~10的整数</legend>
				<div class="numb">
				 <input id="numb" name="numb" type="text"  required="">
				</div>
				<div class="but">
					<button>确认</button>
				</div>
			</fieldset>
		</form>
	</div>
</body>
</html>
  • 创建c1.php
<?php 
 $a = $_POST["numb"];
 
 session_start();
 $r = rand(1,10);
 if (isset($_SESSION["num"])) {
 	
 }else{
 	$_SESSION["num"]=$r;
 }
 echo "随机产生的数字为:".$_SESSION["num"]."<br>";

 if ($a > $_SESSION["num"]) {
 	 //echo  "猜大了";
 	echo "<script>alert('猜大了')</script>";
 }else if ($a < $_SESSION["num"]) {
 	 //echo "猜小了";
 	echo "<script>alert('猜小了')</script>";
 }else if ($a == $_SESSION["num"]) {
 	 //echo "猜对了";
 	echo "<script>alert('猜对了')</script>";
 	 $_SESSION["num"] = NULL;
 }
?>

方法二:

  • 创建z2.php
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>猜数字</title>
	<style type="text/css">
		h2{
		     text-align: center;
		     color: #808080;
		}
		.fie{
			width: 500px;
			padding-left: 20px;
			margin-left: 500px;
			margin-top: 40px;
		}
		#numb{
			width: 480px;
			margin-top: 10px;
		}
		.but>button{
			width: 488px;
			margin-top: 10px;
			background-color: #eeeeee;
		}
	</style>
</head>
<body>
	<div>
		<h2>猜一猜</h2>
		<form action="" method="post">
			<fieldset class="fie">
				<legend>填入一个1~10的整数</legend>
				<div class="numb">
				 <input id="numb" name="numb" type="text"  required="">
				 <?php session_start() ?>
				 <?php  if (isset($_SESSION["num"])) {?>
				 	<?php  ?>
				 <?php }else{ ?>
				 	<?php $_SESSION["num"]=rand(1,10) ?>
				 <?php } ?>
				</div>
				<div class="but">
					<button id="but" name="but" value="确认">确认</button>
					<?php if ($_POST["but"] == "确认") {?>
					 // <?php echo "随机产生的数字为:".$_SESSION["num"] ?>
					 <?php if ($_POST["numb"] > $_SESSION["num"]) {?>
				 	  	<?php echo "<script>alert('猜大了')</script>" ?>
				 	 <?php }else if ($_POST["numb"] < $_SESSION["num"]) {?>
				 	  	<?php echo "<script>alert('猜小了')</script>" ?>
				 	 <?php }else if ($_POST["numb"] = $_SESSION["num"]) {?>
				 	    <?php echo "<script>alert('猜对了')</script>" ?> 
				 		<?php $_SESSION["num"]=NULL ?>
				 	 <?php } ?>
				 	<?php } ?>

				</div>
			</fieldset>
		</form>
	</div>
</body>
</html>

4、源代码截图

  • z1.php

z1.php

  • c1.php

c1.php

  • z2.php

z2.php


5、运行结果截图

大

大

小

小

对

对


6、知识点

rand(1,10);//产生一个1~10的整数。

通过 session_start();和if (isset($_SESSION[“num”]))使产生的随机数不变。

通过$_SESSION[“num”] = NULL; 实现猜对数字之后使数值再次发生变化进行下一次游戏。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以的,你可以使用PHP来实现一个简单的"画我猜"小游戏。以下是一个简单的示例代码: ```php <?php // 从一个词库中随机选择一个单词 $wordList = array("apple", "banana", "cat", "dog", "elephant"); $word = $wordList[array_rand($wordList)]; // 存储玩家猜测的字母 $guessedLetters = array(); // 处理玩家的猜测 if ($_SERVER["REQUEST_METHOD"] == "POST") { $guessedLetter = $_POST["letter"]; if (ctype_alpha($guessedLetter)) { // 将字母转换为小写并添加到已猜测字母数组中 $guessedLetter = strtolower($guessedLetter); $guessedLetters[] = $guessedLetter; } } // 判断玩家是否猜中所有字母 $allLettersGuessed = true; foreach (str_split($word) as $letter) { if (!in_array($letter, $guessedLetters)) { $allLettersGuessed = false; break; } } // 显示游戏状态 echo "猜测单词: "; foreach (str_split($word) as $letter) { if (in_array($letter, $guessedLetters)) { echo $letter . " "; } else { echo "_ "; } } echo "<br><br>"; // 显示已猜测字母 echo "已猜测字母: "; foreach ($guessedLetters as $letter) { echo $letter . " "; } echo "<br><br>"; // 显示输入表单 if (!$allLettersGuessed) { ?> <form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>"> <label for="letter">输入一个字母: </label> <input type="text" name="letter" maxlength="1" pattern="[a-zA-Z]{1}" required> <input type="submit" value="猜测"> </form> <?php } else { echo "恭喜你猜对了!"; } ?> ``` 这个示例代码实现了一个简单的"画我猜"游戏。它从一个词库中随机选择一个单词,然后玩家可以猜测这个单词中的字母。玩家每次猜测后,程序会显示已猜测的字母和正确的猜测位置。如果玩家猜对了所有字母,将显示恭喜信息。 请注意,这只是一个简单的示例,你可以根据自己的需求进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值