<?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个骰子 ?>
很容易吧 这样就实现了。但是,但是没有发现有不对的地方吗?比如,数据过滤、效率、扩展性……
这么一想,上面写的真的是太糟糕了!让我们来想想如何去改进吧,多反思,我们才能有进步哟!
下篇,我们来一个优化!
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答