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 $_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("√ 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);

  }

  }

  }

  ?>

时间: 2024-08-02 12:54:25

PHP小游戏之考考记忆力的相关文章

音频-我用java写了一个小游戏,想插入背景音乐但不太会,求指教

问题描述 我用java写了一个小游戏,想插入背景音乐但不太会,求指教 package text; import java.io.*; import javax.sound.sampled.*; public class text { public static void main(String[] args) { // TODO Auto-generated method stub //创建一个实例 AePlayWave apw = new AePlayWave("G:\照片\Sleep Awa

vb编程-用vb。net设计一个小游戏

问题描述 用vb.net设计一个小游戏 我想实现以下功能: 当单击某一个按钮时,如果其他按钮的颜色和这个按钮相同,则让这两个按钮消失,该怎么判断那个按钮是否和本按钮的颜色相同

WEBJX收集12个非常有创意的JavaScript小游戏

JavaScript 在Web开发过程中已经是必不可少的重要分子,他推动着Web的交互性往越来越高的层次发展,现在的很多Web游戏也基于这类语言开发. 这里是12个非常有创意的JavaScript小游戏,希望在给我们带来趣味的同时也能更进一步地了解更深层次的JavaScript语言,原来它可以这样的. Browser Pong Twitch Browser Ball Crystal Galazy Video & Picture Puzzle Apophis 2029 Bing-Bong Bomb

flash小游戏网站靠什么盈利?

目前国内flash小游戏网站,很多,而且很多已经做大,例如 4399.com 3839.com yx007.com xiaoyouxi.com 7733.com  gameyes.com .据统计,目前流量超过1000个ip的小游戏网站已经达到4000家,另外还有小游戏频道 例如play.zol.com.cn 这样的频道4000家. 这么多小游戏网站,靠什么生存,靠说明盈利呢?    小游戏网站主要受众是中小学生,他们本身没有消费能力,另外小游戏本身不具备掘金能力,所以不能从页面之外赚钱.   

手机小游戏网站SEO优化之长尾词篇

笔者的一个好朋友最近做了一个手机小游戏下载的网站,主要是提供手机小游戏下载,从智能开始流行开始,手机小游戏类的网站似乎也变多 了,个人站长做网站主要的收入来源是广告费用,比如:百度广告联盟.但有流量才有广告费用,手机小游戏下载的网站应该如何优化,笔者看了几个主关键词,像"手机小游戏"这样的词竞争都比较激烈,做起来比较困难.加上个人的精力和资源有限,那就很难做上去,一个网站大部分的流量来源于长尾词,众多的长尾词优化起来也比较费事费力,虽然个人不能与团队相比,但是也要想好了再开始执行.以下

J2ME 2D小游戏入门之旅(七) 不足多多,你认为呢?

七.不足多多,你认为呢? 游戏已经成型了,冲杯咖啡犒劳一下自己吧.呵呵还是算了,咖啡因对下一代不好. 当你看完以上的所有,你有什么想法呢?不要说没有.你一定是像我一样揣着一份完成clone作品的兴奋和无数的疑问吧.关于游戏性.游戏引擎等种种的问题接踵而来,甚至你可能还会想到这么个游戏有没有市场?让我们在睡前一起苦恼一下吧. 系统构架方面 我们将来的游戏不会像现在这样直来直去,需要有欢迎界面,loading等待,帮助,画面切换等等,那时候我们的Navigate就不是现在这副空架子了. 顺便再谈一个

一个FLASH小游戏的制作过程与心得

过程|心得 这是笔者花了5天时间做的一个小游戏,是模仿QQ连连看的. 虽然现在已经没什么新意了,画面也很一般,也没加声音(其实是因为声音文件太大了),但是,笔者想借此跟大家交流FLASH游戏的制作经验,所以也在此献丑了. 鉴于上次写的教程看的人不会很多,所以这次,笔者没打算从头到尾把教程完整地写出来,而打算先让大家提问跟该游戏制作有关的问题,然后由笔者给大家回答.笔者认为,这样能取得更好的效果. 学了AS一段时间后,笔者以为做这样的游戏是易如反掌的事情. 真正做的时候,才发现有很多方面是要注意的

SEO案例:4399小游戏网站SEO案例分析

在小游戏行业,有一个网站的SEO做的相当厉害,那就是4399小游戏,当然17173小游戏要做的不错的,但是相对于4399来说,其SEO可能要略逊一筹.下面做一个简单地对比你就清楚了. 两个网站的百度收录,外链,权重关键词和流量数据 4399小游戏:百度收录20万,百度外链619万,百度权重为 9 ,共找到 17548 条记录,预计从百度来访 3029791 次 17173小游戏:百度收录377,百度外链55万5,百度权重为 7 ,共找到 703 条记录,预计从百度来访 112534 次. 单纯的

4399小游戏网站SEO案例分析

在小游戏行业,有一个网站的SEO做的相当厉害,那就是4399小游戏,当然17173小游戏要做的不错的,但是相对于4399来说,其SEO可能要略逊一筹.下面做一个简单地对比你就清楚了. 两个网站的百度收录,外链,权重关键词和流量数据 4399小游戏:百度收录20万,百度外链619万,百度权重为 9 ,共找到 17548 条记录,预计从百度来访 3029791 次 17173小游戏:百度收录377,百度外链55万5,百度权重为 7 ,共找到 703 条记录,预计从百度来访 112534 次. 单纯的