初学php,自己写了一个《石头剪刀布》小游戏

fesiong 2011-04-12 11:11:47
由于是初学,应该有很多错误,望指正。
<?php
//作者:fesiong
//时间:2011.4.12
function check($get, $sys) {
if ($get == "石头") {
if ($sys == "剪刀")
return 1;
else if ($sys == "布")
return 0;
}
if ($get == "剪刀") {
if ($sys == "布")
return 1;
else if ($sys == "石头")
return 0;
}
if ($get == "布") {
if ($sys == "石头")
return 1;
else if ($sys == "剪刀")
return 0;
}
}
?>
<p>石头、剪刀、布 php版本</p>
<form action="game1.php" method="get" target="supportiframe"
enctype="multipart/form-data"><input type="text" name="id" size="5" />
<input type="submit" value="提交" /></form>
<?php
$get = $_GET ["id"];
if ((! empty ( $get )) && eregi ( "石头|剪刀|布", $get )) :
$sys = array ("石头" => 0, "剪刀" => 1, "布" => 2 );
$sys = array_rand ( $sys, 1 );
$result = check ( $get, $sys );
echo "你出 的 是<font color=\"3cc\">" . $get . "</font><br/>";
echo "系统出的是<font color=\"999\">" . $sys . "</font><br/>";
if ($result == 1)
echo "你赢啦!请再接再厉。<br/>";
else if ($result == 0)
echo "你输啦!请不要气馁。<br/>";
else
echo "平手啦!继续出招吧。<br/>";
elseif (empty ( $get )) :
echo "你没有输入任何值,请输入一个有效值。";
else :
echo "你输入了不合法值:<font color=\"red\">" . $get . "</font>,请重新输入。<br/>";
endif;
?>
...全文
323 5 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
严宇川 2011-06-30
楼上代码很精简,

思路也很独特,怎么想出来的这是,

这样比较真的很出人预料呢,
  • 打赏
  • 举报
回复
diannaomingong 2011-04-12
我建议利用数组

$data=array(
0=>'石头',
1=>'剪刀',
2=>'布'
);

少很多if
  • 打赏
  • 举报
回复
scscms太阳光 2011-04-12
<?php
//太阳光
$get = $_GET ["id"];
if (!empty($get)){
$arr = array ("ab"=>"石头","bc"=>"布","ca"=>"剪刀");
$sys = array_rand ( $arr, 1 );

if (substr($get,0,1)==substr($sys,1,1))
$info="恭喜!你赢啦!";
else if(substr($sys,0,1)==substr($get,1,1))
$info="你输啦!请不要气馁!";
else
$info="平手啦!继续出招吧!";
echo "<script>alert('您出的是". $arr[$get] .",系统出的是". $arr[$sys] ."\\n". $info ."')</script>";
}
?>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta http-equiv="Content-Language" content="zh-cn" />
<title>石头、剪刀、布 php版本</title>
<p>石头、剪刀、布 php版本</p>
<form action="?" method="get">
你出:<select name="id">
<option value="ab">石头</option>
<option value="bc">布</option>
<option value="ca">剪刀</option>
</select>
<input type="submit" value="提交" />
</form>
  • 打赏
  • 举报
回复
y75674952 2011-04-12
错误很多.
一.$get = $_GET ["id"];变量未定义报错
$get = isset($_GET ["id"])?$_GET ["id"]:'';
二.当输入错误值的时候又报错.eregi XXX啥子的...
三.我出布.系统也出布,我输了.条件判断有问题....
四.粗略看了一下代码. 你的 提示 "平手啦!继续出招吧。" 永远也不会执行..
逻辑上有问题..
  • 打赏
  • 举报
回复
fesiong 2011-04-12
用数组我写不出来,不知道怎么写呢,所以用了最普通的方法
  • 打赏
  • 举报
回复
相关推荐
发帖
基础编程

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
帖子事件
创建了帖子
2011-04-12 11:11
社区公告
暂无公告