首页 > 编程 > PHP > 正文

PHP骰子游戏篇

2020-03-22 17:22:08
字体:
来源:转载
供稿:网友
  • 常听抱怨,不知道如何学习。其实用点心思,身边比比皆是可学之处。

    比方说,我们经常玩的骰子游戏。来,我们抛个点数,看看谁的点数大?

    <?phpecho rand(1, 6); // 产生一个随机整数 // 更详细请查看PHP手册关于rand函数的说明 http://www.php.net/rand ?>

    经常看PHP手册的朋友一定发现,还有一个函数比rand能产生更好的随机数,它就是mt_rand。

    你是一个人在玩骰子游戏吗?那你一定太宅了,你该走出去跟朋友聚聚了。

    如何设计一个多人玩的骰子游戏呢?人数不定,可能两个人玩,也可能三个人玩……;可能用两个骰子,也可能用三个、四个骰……

    <?php /**  * Description of Game  *  * @author momosweb#qq.com  */ html' target='_blank'>class Game {          /**      * 骰子点数生成器      */     private function get_roll()     {         return mt_rand(1, 6);     }          /**      * 取得每个骰子数的结果      * @param intval $number 默认玩骰子游戏的骰子数      * @return array 每次抛骰子的结果      */     private function get_number($number)     {         for($i=0; $i < $number; $i++) {             $roll[$i] = $this->get_roll();         }                  return $roll;     }          /**      * 每个人各自的骰子结果      * @param intval $people 默认玩骰子游戏的人数      * @param intval $number 默认玩骰子游戏的骰子数 www.it165.net     * @return array 人数对应骰子值的结果      */     public function result($people=1, $number=1)     {         for($i=0; $i < $people; $i++) {             $arr[$i] = $this->get_number($number);         }                  return $arr;     } }  // Testing $Game = new Game();  print_r($Game->result());  // 1个人玩1个骰子  print_r($Game->result(3));  // 3个人各玩1个骰子  print_r($Game->result(1, 3));  // 1个人玩3个骰子  print_r($Game->result(2, 5));  // 2个人各玩5个骰子  ?> 

    很容易吧 这样就实现了。但是,但是没有发现有不对的地方吗?比如,数据过滤、效率、扩展性……

    这么一想,上面写的真的是太糟糕了!让我们来想想如何去改进吧,多反思,我们才能有进步哟!

    下篇,我们来一个优化!

    PHP编程

    郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

  • 发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表