喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

$5.95 Web Hosting     

上一主题 下一主题
     
标题: [代码] php,命令行下石头剪刀游戏!最终版!  
 
帅的不能再输啦
新手上路
Rank: 1
初级会员


UID 67369
精华 0
积分 38
帖子 34
金钱 38 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2005-12-21
状态 离线
[广告]: Enom域名自助付费 自助注册 自助PUSH 主流域名COM等一律57.99元年
php,命令行下石头剪刀游戏!最终版!

增加了胜率和败率的统计。
增加了总局数的统计。
对显示效果做了调整。

<?php
#!/usr/bin/php
<?php
/**
 * 石头剪刀布游戏(单机版)
 *
 * @author   [email]genghonghao@gmail.com[/email]
 * 
 * @date     2008/07/03
 *
 * @version  v,1.0
 *
 */

set_time_limit(0);

$input['s']    = array(1'石头');
$input['j']    = array(2'剪刀');
$input['b']    = array(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($input1);
    
$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();
            
$result read_result();
            
$mark_content "本局获得积分: {$marke}    剩余积分: {$total}n成绩:   总局数:{$result[3]} 胜率: %{$result[0]} 败率: %{$result[1]} 平率: %{$result[2]}n";
            
fwrite(STDOUT"n{$if}n你的出招:\"{$user_out[1]}\"n系统出招:\"{$syst_out[1]}\"n{$mark_content}");
        }

    } else {
        
fwrite(STDOUT"n请输入有效的值!n");
    }
    
}

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;
}

function 
read_result() {
    
$file = @file(INTEGRAL);
    
$count count($file);
    
$s 0;
    
$f 0;
    
$t 0;

    foreach(
$file as $k => $v) {
        
$value = (int)(str_replace('n'''$v));
        switch(
$value) {
            case 
SUCCESS_MARK:
                ++
$s;
                break;
            case 
FAILURE_MARK:
                
$f++;
                break;
            case 
TIE_MARK:
                
$t++;
                break;

        }
    }
    
$sd sprintf("%2f"$s/$count);
    
$sd substr((string)$sd22);
    
$fd sprintf("%2f"$f/$count);
    
$fd substr((string)$fd22);
    
$td sprintf("%2f"$t/$count);
    
$td substr((string)$td22);
    return array(
$sd$fd$td,$count);
}
?>




ONLYCORE
2008-7-3 03:56 PM#1
查看资料  发短消息  QQ  顶部
 
unspace (未知空间)
版主
Rank: 7Rank: 7Rank: 7
百万富翁


UID 67567
精华 0
积分 48940
帖子 5199
金钱 47841 喜悦币
威望 0
人脉 1099
阅读权限 100
注册 2005-12-28
来自 吉林
状态 离线
[广告]: Enom域名自助付费 自助注册 自助PUSH 主流域名COM等一律57.99元年
撑一下,我不顶



7月1日起,北京市低保、最低工资标准、失业保险、工伤保险、基本养老金5项社会保障标准均将全部上调。其中,最低工资标准增加70元,提高到800元。
2008-7-3 04:04 PM#2
查看资料  访问主页  Blog  发短消息  顶部
 
游戏人间
版主
Rank: 7Rank: 7Rank: 7
☞风云山庄大少爷☜


UID 62639
精华 2
积分 14538
帖子 7532
金钱 14389 喜悦币
威望 20
人脉 129
阅读权限 100
注册 2004-12-21
来自 广西人在北京
状态 在线
[推荐阅读] !!急需php 支付宝支付网关整合高手!!




 
群号:6025396/6025252/19520091(广西PHP交流/PHP高级编程/算法交流) 寧可在嘗試中失敗,也不在保守中成功! 不為失敗找理由,只為成功找方法! 饿踢Blog
 
2008-7-3 05:40 PM#3
查看资料  访问主页  Blog  发短消息  顶部
 
superjou (superjou)
新手上路
Rank: 1
初级会员



UID 64431
精华 0
积分 4
帖子 47
金钱 4 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2005-5-29
状态 离线
[推荐阅读] [zt] MySQL中文全文索引插件 mysqlcft 1.0.0 安装使用文档
顶!!!!
2008-7-3 08:46 PM#4
查看资料  发短消息  QQ  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 1.562887 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP