又到了中秋了,中秋博饼这个习俗,在闽南是比较讨喜的活动,在网上找了一些代码,发现大多是那种利用各种的foreach和if来处理觉得有新的方法可以处理,就自己用PHP码了一个博饼的类出来。<?php

class Bobing {

private static $result = array(

0=>'未中奖',1=>'一秀',2=>'二举',3=>'四进',4=>'三红',5=>'对堂',

6=>'状元',7=>'五子登科',8=>'五红',9=>'遍地锦',10=>'六杯红',11=>'状元插金花',12=>'六杯黑'

);

private static $special = array(

5=>array(1,2,3,4,5,6),

9=>array(1,1,1,1,1,1),

10=>array(4,4,4,4,4,4),

11=>array(1,1,4,4,4,4)

);

private static $liuhei = array(

array(2,2,2,2,2,2),

array(3,3,3,3,3,3),

array(5,5,5,5,5,5),

array(6,6,6,6,6,6),

);

private static $wuhong = array(4,4,4,4,4);

private static $zhuangyuan = array(4,4,4,4);

private $_dices = null;

private  $_level = 0;

public function __construct()

{

$this->sharkDices();

}

/**摇骰子调用

* @return $this

*/

public function sharkDices(){

$level = $this->sharkItOff();

$this->_level = $level;

return $this;

}

/**摇奖奖励

* @return int

*/

public function sharkItOff(){

$dices = $this->randDices();

$this->_dices = $dices;

$temp = $dices;

sort($temp);

//特殊处理

foreach (self::$special as $key=> $type){

if($type == $temp){

return $key;

}

}

//六黑处理

foreach (self::$liuhei as $type){

if($type == $temp){

return 12;

}

}

//等级筛选

$temp = $this->delDice($temp);

//统计等级剔除剩余骰子数

$count = count($temp);

switch ($count){

case 0:

return 0;//未中奖

break;

case 1:

return 1;//一秀

break;

case 2:

return 2;//二举

break;

case 3:

return 4;//三红

break;

case 4:

if($temp == self::$zhuangyuan){

return 6;//状元

}

return 3;//四进

break;

case 5:

if($temp == self::$wuhong){//五红

return 8;

}

return 7;//五子登科

break;

default:

break;

}

return 0;

}

/**获取骰子

* @return null

*/

public function getDices(){

return $this->_dices;

}

public function getLevel(){

return $this->_level;

}

public function getReward(){

return self::$result[$this->_level];

}

/**获取骰子

* @return array

*/

private function randDices(){

$dices = [];

for ($i=0;$i<6;$i++){

$dices[] = rand(1,6);

}

return $dices;

}

/**计算骰子等级,去除骰子

* @param array $dices

* @return array

*/

private function delDice(array $dices){

$temp = $dices[0];

$i = 1;

$max = 1;

$maxDeces = $dices[0];

foreach ($dices as $key=>$dice){

if($key == 0){

continue;

}

if($dice == $temp){

$i += 1;

}else{

if($i >= $max){

$max = $i;

$maxDeces = $temp;

}

$i = 1;

$temp = $dice;

}

}

if($i >= $max){

$max = $i;

$maxDeces = $temp;

}

if($max < 4){

$maxDeces = 4;

}

foreach ($dices as $key=>$dice){

if($dice == $maxDeces){

continue;

}

unset($dices[$key]);

}

sort($dices);

return $dices;

}

}

不喜勿喷,留言共勉!!!

php 博饼 源代码,php实现中秋博饼小游戏相关推荐

  1. 【博主推荐】html好看的拼图小游戏(附源码)

    拼图目录 html好看的拼图小游戏 1.拼图效果示意图 1.1 第一级 九宫格拼图 1.2 第二级 十六宫格拼图 1.3 第三级 三十二宫格拼图 14 第三级 八十一宫格拼图 2.图片切图说明 3.实 ...

  2. 网页版打地鼠小游戏源代码,网页版打灰太狼小游戏源码

    网页版打地鼠小游戏源代码,网页版打灰太狼小游戏源码 完整代码下载地址:网页版打地鼠小游戏源代码,网页版打灰太狼小游戏源码 核心代码 <!DOCTYPE html> <html> ...

  3. Python跳跳兔小游戏源代码,兔年必玩小游戏,兔年大吉

    Python跳跳兔小游戏源代码,兔年必玩小游戏,兔年大吉,小兔子跳跳,按空格键向上跳跃,按键盘方向键进行左右移动,以避开飞弹,以防被炸,还可以捡到火箭道具哦. 完整程序下载地址:Python跳跳兔小游 ...

  4. 通通的最后一篇博客(附自制html5平面射击小游戏一枚)

    这是我最后一篇博客了,由于本人的人生规划吧,以后应该也写不出什么好的技术文章了,到现在在博客园写了2年, 今天一看,我也有了120个粉丝,好几万的浏览量,感谢大家的支持啊~~ 半年没有写博客了,由于半 ...

  5. app直播源代码是如何实现直播间小游戏的

    为了应对不同需求的客户,我们对app直播源代码中的功能不断地进行拓展,例如将网页游戏加进App,为了快捷的实现这一功能,我们只需要对Android提供的Webview进行简单的配置,便可轻松实现app ...

  6. mfc使用cef源代码实现_如何获得微信小游戏跳一跳源码以及源代码组合包括哪些...

    很多小游戏都是由源代码编写而成的,那大家知道源代码组合包括哪些吗?手机游戏源代码怎么使用的呢?还有,如何获得微信小游戏跳一跳源码?下面就由奇瑰网小编带大家来了解一下相关的内容吧. 源代码组合包括哪些 ...

  7. 【源代码】Python制作的赛车小游戏,逆行飙车

    python制作的赛车小游戏,逆行飙车,通过键盘方向键控制 程序运行截图 源代码 import pygame, sys, time, random# pygame 初始化 pygame.init() ...

  8. Python背单词记单词小程序源代码,背单词记单词小游戏源代码

    背单词小游戏,要有多界面交互,界面整洁.美观,可调节游戏等级难度,可配置游戏信息. 有游戏分数,游戏时间,动画特效,背景音乐,不同游戏等级的历史最高分记录. 拼写成功的英文单词显示中文意思.支持长按回 ...

  9. Python飞行棋游戏源代码,基于socket网络通信的小游戏,可设置多个游戏房间及参与飞行棋游戏的玩家

    直接运行ludoServer.py即可,然后用浏览器打开http://127.0.0.1:4399/,完成房间创建.房间设置及玩家设备即可开始游戏 完整程序代码下载地址:Python飞行棋游戏源代码 ...

  10. 游戏合金弹头的java源代码_java swing实现合金弹头小游戏源码附带视频指导运行教程...

    <p> <span style="color:#555555;font-family:"font-size:16px;background-color:#FFFF ...

最新文章

  1. Linux找头文件规则,linux 头文件、库文件查找顺序
  2. TCP报文格式和三次握手——三次握手三个tcp包(header+data),此外,TCP 报文段中的数据部分是可选的,在一个连接建立和一个连接终止时,双方交换的报文段仅有 TCP 首部。...
  3. 生产订单形成的差异如何传递到COPA
  4. java开发变化_十年编程语言变化,大众程序员的路在哪里?
  5. 如何把html转换成音频网址,怎么把视频转换成音频 视频转换成mp3
  6. 中检测到有潜在危险的 request.form 值。_洛宁县钢结构厂房加固检测设计中心
  7. 如何将学术经历整合为求职简历?
  8. LeetCode-----二维数组中的查找
  9. 矩阵分析 (三) 矩阵的标准形
  10. CentOS6.7 Mysql5.6.35版本 源码编译+Mysql数据库忘记root密码如何修改
  11. 淘宝APP购物车测试用例
  12. selenium操作浏览器
  13. 服务器是用集成网卡好还是独立网卡好
  14. EXCEL快捷键大全(三)(九耶-钛伦特)
  15. 点餐app的初步总结
  16. 如何用循环执行玩转自定义企业微信机器人?
  17. 去哪儿12306候补购票怎么用?
  18. 计算机控制台程序,什么是电脑控制台,是DOS设定吗?
  19. 产品经理如何自学入门?
  20. 遇到不同网段互相访问的一些问题的总结

热门文章

  1. jquery蝴蝶飞舞网页动画js特效代码
  2. 基于C++实现的一种通用Base编解码器(Hex(Base16)/Base32/Base64)
  3. 转《腾讯大讲堂11 拍拍ce工作经验分享》
  4. WebRtc与P2P
  5. 龙芯2F一体机硬盘修复
  6. 8000计算机论文范文,计算机毕业论文_计算机论文范文8000字_毕业论文8000字范例...
  7. 双足机器人重心在头部_双足行走机器人及其重心调节装置制造方法及图纸
  8. 关于光伏行业的测试及测试标准
  9. 免费PDF转Word
  10. 联想服务器加装显卡无显示,标配11201355主板的启天M4330在 Win8系统加装独立显卡“无显无报警”...