本文主要详细介绍了用PHP实现猜谜游戏。本文中的示例代码非常详细,具有一定的参考价值。有兴趣的朋友可以参考一下
这个例子分享了PHP实现猜谜游戏的具体代码,供大家参考。具体内容如下
猜数游戏有两种玩法:
第一种:和两个人一起玩,一个给出数字,另一个猜测。给出数字的人要想到一个有指定位数的数字,这个数字可以重复,猜的人不可能知道。
猜的人可以开始猜了。每次你猜一个数字,给出数字的人都会说这个数字比这个数字大或者小。
第二种:和两个人一起玩,一个给出数字,另一个猜测。给出数字的人应该先想到一个4位数的数字,不要重复数字,这样猜的人就不会知道了。猜的人可以开始猜了。每次你猜一个数,枚举器都会根据这个数给出几个A和B,其中A前的数表示位置正确的数,B前的数表示位置正确但错误的数。如果正确答案是5234,猜者猜5346,则是1A2B,其中5个位置中有一个是对的,记录为1A,而2个数字3和4是对的,但是位置不对,所以记录为2B,合起来就是1A2B。然后猜者继续根据提问者的A和B的个数猜,直到猜对为止。
下面是PHP代码实现:
?php
//标准输入流和标准输出流
$ stdin=null
$ stdout=null
/**
*初始化输入输出流
*/
函数init() {
global $ stdin
global $ stdout
$stdin=fopen('php://stdin ',' r ');
$ stdout=fopen(' PHP ://stdout ',' w ');
}
/**
*关闭输入输出流
*/
函数destroy() {
global $ stdin
global $ stdout
if(is_resource($stdin)) {
fc lose($ stdin);
}
if(is_resource($stdout)) {
fc lose($ stdout);
}
}
/**
*从命令行读取一行数据
*/
函数read() {
global $ stdin
$ line=fgets($ stdin);
返回修剪($line,PHP _ EOL);//删除换行符
}
/**
*向命令行输出一行数据
*/
函数write($line) {
global $ stdout
//转换编码
if(stripos(PHP_OS,' winnt ')!==false) {
$line=iconv('UTF-8 ',' GBK ',$ line);
}
fwrite($stdout,$line。PHP _ EOL);
}
/**
*第一种玩法
* @ param $计数数字
*/
函数guess_the_number($count=2) {
//随机生成一个$count数字
$min=pow(10,$ count-1);
$max=pow(10,$ count)-1;
$number=rand($min,$ max);