PHP小游戏之考考记忆力
产生几个随机数字,随机提问,总共10轮 windows命令行效果图
<?php substr(php_sapi_name(), 0, 3) !== 'cli' AND die("Please run in cli mode"); new Php_Cli_Game; class Php_Cli_Game{ private
Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved 地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008 电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134 《中华人民共和国增值电信业务经营许可证》闽B2-20100024 ICP备案:闽ICP备05037997号
private
Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved 地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008 电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134 《中华人民共和国增值电信业务经营许可证》闽B2-20100024 ICP备案:闽ICP备05037997号
private
Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved 地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008 电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134 《中华人民共和国增值电信业务经营许可证》闽B2-20100024 ICP备案:闽ICP备05037997号
private
Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved 地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008 电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134 《中华人民共和国增值电信业务经营许可证》闽B2-20100024 ICP备案:闽ICP备05037997号
const _SIZE = 30; public function __construct(){ $this->_level = 1; $this->_accuracy = 0; do{ $this->_init(); $str = trim(fgets(STDIN)); if(in_array($str, array("q", "e")) || $this->_check_answer($str)){ break; } }while(true); } private function _init(){ $this->_digitals = array_fill(0, self::_SIZE, " "); $range = array_rand(range(0, ++$this->_level * 5), $this->_level); $tmp=array(); foreach($range AS $k => $v){ do{ $rnd = rand(0, self::_SIZE-1); }while($this->_digitals[$rnd] !== " "); $tmp[] = $this->_digitals[$rnd] = $v; } $this->_mk_question($tmp); } private function _check_answer($answer){ if($answer === trim($this->_answer)){ $this->_display("√ Good job!\n"); $this->_accuracy++; }else{ $this->_display(join(" ", $this->_digitals) . "\n答案是:{$this->_answer}\n\n"); } if($this->_level > 10){ $grades = array( 0 => 'Stupid', 1 => 'Stupid', 2 => 'Stupid', 3 => 'Disappointing', 4 => 'Not so bad', 5 => 'Not so bad', 6 => 'Not bad', 7 => 'Impossible', 8 => 'Impossible', 9 => 'Unbelievable', 10 => 'Unbelievable', ); $score = $this->_accuracy*10 . "%\t\t{$grades[$this->_accuracy]}!\n"; $this->_display("\n\n答题正确率:" . $score); return true; } return false; } private function _mk_question($arr){ sort($arr); $len = sizeof($arr); $questions = array(); $questions['max'] = array($arr[$len-1], '最大数字'); $questions['min'] = array($arr[0], '最小数字'); if($len % 2){ $questions['mid'] = array($arr[intval($len/2)], '中间数字'); } if($len>3){ $questions['second'] = array($arr[$len-2], '第二大数字'); $questions['finally_second'] = array($arr[1], '第二小数字'); } shuffle($questions); $tmp = array_shift($questions); $this->_answer = $tmp[0]; $this->_display(join(" ", $this->_digitals), range(5, 1)); $this->_display("输入刚才出现过的{$tmp[1]}:"); } private function _display($str |
||||||||||||||||||||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |