仓酷云

标题: PHP教程之PHP小游戏之考考记忆力 [打印本页]

作者: 简单生活    时间: 2015-2-16 00:22
标题: PHP教程之PHP小游戏之考考记忆力
如果你单纯是为了做网站赚钱,我想你还是别学php的好,去学ASP,JSP好了,毕竟它们有实力雄厚的公司去支持它们。      发生几个随机数字,随机发问,总共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 $_digitals = array();
    private $_answer = '';
    private $_level = 0;
    private $_accuracy = 0;
    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("&radic; 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 = '', $steps = ''){
    $len = strlen($str);
    if(is_array($steps)){
    foreach($steps AS $k => $v){
    fwrite(STDOUT, $str . "\r");
    usleep(ceil(1000000/($k+1)));
    fwrite(STDOUT, str_repeat(" ", $len) . "\r");
    usleep(ceil(1000000/$this->_level));
    if($k==$this->_level-1){
    break;
    }
    }
    fwrite(STDOUT, "\n");
    }
    else{
    fwrite(STDOUT, $str);
    }
    }
    }
    ?>
如果你单纯是为了做网站赚钱,我想你还是别学php的好,去学ASP,JSP好了,毕竟它们有实力雄厚的公司去支持它们。
作者: 第二个灵魂    时间: 2015-2-16 00:31
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
作者: 变相怪杰    时间: 2015-2-17 00:08
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
作者: 谁可相欹    时间: 2015-3-1 18:03
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
作者: 小女巫    时间: 2015-3-3 13:12
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
作者: 只想知道    时间: 2015-3-4 17:12
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
作者: 简单生活    时间: 2015-3-5 15:45
做为1门年轻的语言,php一直很努力。
作者: 透明    时间: 2015-3-12 05:07
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
作者: 爱飞    时间: 2015-3-12 22:28
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
作者: 蒙在股里    时间: 2015-3-20 04:14
兴趣是最好的老师,百度是最好的词典。
作者: 海妖    时间: 2015-3-22 05:09
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
作者: admin    时间: 2015-4-1 04:37
兴趣是最好的老师,百度是最好的词典。
作者: 仓酷云    时间: 2015-4-3 21:32
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
作者: 不帅    时间: 2015-4-11 09:15
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
作者: 兰色精灵    时间: 2015-4-13 00:51
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
作者: 柔情似水    时间: 2015-4-16 17:11
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
作者: 再现理想    时间: 2015-4-17 19:33
基础有没有对学习php没有太大区别,关键是兴趣。
作者: 山那边是海    时间: 2015-5-4 13:17
实践是检验自己会不会的真理。
作者: 乐观    时间: 2015-6-4 14:40
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。




欢迎光临 仓酷云 (http://www.ckuyun.com/) Powered by Discuz! X3.2