帅的不能再输啦
新手上路

初级会员
UID 67369
精华
0
积分 38
帖子 34
金钱 38 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2005-12-21
状态 离线
|
[推荐阅读] PHP 调用存储过程
根据奶瓶同学的意见,改进后得到:
确实效率提高了很多啊,也节省了许多代码
<?php #!/usr/bin/php /** * 石头剪刀布游戏(单机版) * * @author [email]genghonghao@gmail.com[/email] * * @date 2008/06/26 * * @version v,1.0(beta) * */
set_time_limit(0);
$input['s'] = array(1, '石头'); $input['j'] = array(2, '剪刀'); $input['b'] = array(3, '布');
define('STONE', 1); define('SHEARS', 2); define('CLOTH', 3);
define('INTEGRAL', 'INTEGRA_LOG');
define('SUCCESS_MARK', 5); define('FAILURE_MARK', -5); define('TIE_MARK', 0);
define('SUCCESS', "n您在这次战斗中取得了胜利!n"); define('FAILURE', "n您在这次战斗中被系统战败!n"); define('TIE', "n您和系统战成了平局!n");
// 石头=1, 剪刀=2, 布=3 $stone[-1] = '>'; $stone[1] = '<'; $stone[-2] = '<'; $stone[2] = '>'; $stone[0] = '=';
fwrite(STDOUT,"n出招的规则是: s代表石头 j代表剪刀 b代表布n退出请输入 : quitn积分的规则是: 胜利+5分 失败-5分 平局不加分也不减分n"); while (true) { fwrite(STDOUT, "n请 出 招 : ");
$inputu = trim(fgets(STDIN)); if($inputu == 'quit') { fwrite(STDOUT, "nBye Byenn"); break; }
$key = array_rand($input, 1); $syst_out = $input[$key]; if(array_key_exists($inputu, $input)) { $user_out = $input[$inputu]; $diff_err = $user_out[0] - $syst_out[0]; if(array_key_exists($diff_err, $stone)) { switch($diff_err) { case -1: $marke = SUCCESS_MARK; $if = SUCCESS; break; case 1: $marke = FAILURE_MARK; $if = FAILURE; break; case -2: $marke = FAILURE_MARK; $if = FAILURE; break; case 2: $marke = SUCCESS_MARK; $if = SUCCESS; break; case 0: $marke = TIE_MARK; $if = TIE; break; } write_integral($marke . "n"); $total = read_integral(); $mark_content = "本局获得积分: {$marke}剩余积分: {$total}n"; fwrite(STDOUT, "n{$if}n你的出招:\"{$user_out[1]}\"n系统出招:\"{$syst_out[1]}\" {$mark_content}"); }
} }
function write_integral($content) {
$handle = @fopen(INTEGRAL, 'a');
@fwrite($handle, $content);
@fclose($handle);
}
function read_integral() {
$file = @file(INTEGRAL); $count = 0;
foreach($file as $k => $v) { $count += !empty($v) ? (int)(str_replace('n', '', $v)) : 0; } return $count; } ?>
|
|