仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1884|回复: 18
打印 上一主题 下一主题

[学习教程] PHP教程之PHP小游戏之考考记忆力

[复制链接]
简单生活 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-16 00:22:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如果你单纯是为了做网站赚钱,我想你还是别学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:28 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
变相怪杰 该用户已被删除
板凳
发表于 2015-2-17 00:08:32 | 只看该作者
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
谁可相欹 该用户已被删除
地板
发表于 2015-3-1 18:03:38 | 只看该作者
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
小女巫 该用户已被删除
5#
发表于 2015-3-3 13:12:32 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
只想知道 该用户已被删除
6#
发表于 2015-3-4 17:12:28 | 只看该作者
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
简单生活 该用户已被删除
7#
 楼主| 发表于 2015-3-5 15:45:42 | 只看该作者
做为1门年轻的语言,php一直很努力。
透明 该用户已被删除
8#
发表于 2015-3-12 05:07:05 | 只看该作者
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
爱飞 该用户已被删除
9#
发表于 2015-3-12 22:28:51 | 只看该作者
最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。
蒙在股里 该用户已被删除
10#
发表于 2015-3-20 04:14:35 | 只看该作者
兴趣是最好的老师,百度是最好的词典。
海妖 该用户已被删除
11#
发表于 2015-3-22 05:09:21 | 只看该作者
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
admin 该用户已被删除
12#
发表于 2015-4-1 04:37:38 | 只看该作者
兴趣是最好的老师,百度是最好的词典。
13#
发表于 2015-4-3 21:32:41 | 只看该作者
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
不帅 该用户已被删除
14#
发表于 2015-4-11 09:15:05 | 只看该作者
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
兰色精灵 该用户已被删除
15#
发表于 2015-4-13 00:51:42 | 只看该作者
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
柔情似水 该用户已被删除
16#
发表于 2015-4-16 17:11:38 | 只看该作者
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
再现理想 该用户已被删除
17#
发表于 2015-4-17 19:33:20 | 只看该作者
基础有没有对学习php没有太大区别,关键是兴趣。
山那边是海 该用户已被删除
18#
发表于 2015-5-4 13:17:54 | 只看该作者
实践是检验自己会不会的真理。
乐观 该用户已被删除
19#
发表于 2015-6-4 14:40:05 | 只看该作者
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-14 13:03

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表