php模拟实现斗地主发牌

所属分类: 网络编程 / PHP编程 阅读数: 766
收藏 0 赞 0 分享

本文实例为大家分享了php实现斗地主发牌的具体代码,供大家参考,具体内容如下

闲来无聊,就写了这个方法,也算是熟悉下php的数组操作,还请各位大神多指教。$arr 数组,好像有点问题,应该 2=>'方片2',3=>'梅花2',4=>'红心2',5=>'黑桃2', 等的顺序换下。看来牌打少了。估计这个方法,一般程序都不会用吧。

<?php
wash_card();
function wash_card(){
  $tmp = $arr = array(
    0=>'大王',1=>'小王',
    2=>'方片2',3=>'梅花2',4=>'红心2',5=>'黑桃2',
    6=>'方片A',7=>'梅花A',8=>'红心A',9=>'黑桃A',
    10=>'方片K',11=>'梅花K',12=>'红心K',13=>'黑桃K',
    14=>'方片Q',15=>'梅花Q',16=>'红心Q',17=>'黑桃Q',
    18=>'方片J',19=>'梅花J',20=>'红心J',21=>'黑桃J',
    22=>'方片10',23=>'梅花10',24=>'红心10',25=>'黑桃10',
    26=>'方片9',27=>'梅花9',28=>'红心9',29=>'黑桃9',
    30=>'方片8',31=>'梅花8',32=>'红心8',33=>'黑桃8',
    34=>'方片7',35=>'梅花7',36=>'红心7',37=>'黑桃7',
    38=>'方片6',39=>'梅花6',40=>'红心6',41=>'黑桃6',
    42=>'方片5',43=>'梅花5',44=>'红心5',45=>'黑桃5',
    46=>'方片4',47=>'梅花4',48=>'红心4',49=>'黑桃4',
    50=>'方片3',51=>'梅花3',52=>'红心3',53=>'黑桃3',
  );
  
 
  foreach($arr as $k=>$v){
    $index = rand(0,54 - $k -1);
    $key = array_search($tmp[$index], $arr); 
    $cards[$key] = $tmp[$index];
    unset($tmp[$index]);
    $tmp = array_values($tmp);
  }
  
  $landowner = array(0=>'用户一',1=>'用户二',2=>'用户三');
  $lk = rand(0,2);
  echo '本轮地主: '.$landowner[$lk].'<br >';
  
  $card['landwehr']['cards'] = array_slice($cards, 0, 3, true); 
  ksort($card['landwehr']['cards']);
  echo '地主: '.implode(' ',$card['landwehr']['cards']).'<br >';
  
  $card['user1']['cards'] = array_slice($cards, 3, 17, true); 
  ksort($card['user1']['cards']);
  echo '用户一: '.implode(' ',$card['user1']['cards']).'<br >';
  
  $card['user2']['cards'] =array_slice($cards, 20, 17, true); 
  ksort($card['user2']['cards']);
  echo '用户二: '.implode(' ',$card['user2']['cards']).'<br >';
  
 
  $card['user3']['cards'] = array_slice($cards, 37, 17, true); 
  ksort($card['user3']['cards']);
  echo '用户三: '.implode(' ',$card['user3']['cards']).'<br >';
}
 
 
?>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例

这篇文章主要介绍了TP5(thinkPHP5)框架基于ajax与后台数据交互操作,结合实例形式分析了thinkPHP5前端基于jQuery的ajax数据提交及后台数据接收、处理相关操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

PHP利用Mysql锁解决高并发的方法

这篇文章主要介绍了PHP利用Mysql锁解决高并发的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

php 后端实现JWT认证方法示例

这篇文章主要介绍了php 后端实现JWT认证方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

ThinkPHP框架实现定时执行任务的两种方法分析

这篇文章主要介绍了ThinkPHP框架实现定时执行任务的两种方法,结合实例形式分析了2种被动执行定时任务的相关操作技巧与注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

PHP命名空间与自动加载类详解

这篇文章主要介绍了PHP命名空间与自动加载类,结合实例形式详细分析了php自动加载类与命名空间原理、使用方法及相关操作注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

PHP时间处理类操作示例

这篇文章主要介绍了PHP时间处理类,结合实例形式分析了DateTime、DateTimeZone、DateInterval及DatePeriod等常用日期时间处理类简单操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

利用PHP扩展Xhprof分析项目性能实践教程

XHProf是Facebook开发的性能调试工具,能帮助直观的统计显示PHP程序执行中各方法函数调用次数和消耗时间,以方便我们排查性能瓶颈并进行调优。下面这篇文章主要给大家介绍了关于利用PHP扩展Xhprof分析项目性能实践的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

Django 标签筛选的实现代码(一对多、多对多)

这篇文章主要介绍了Django 标签筛选的实现代码(一对多、多对多),本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

PHP使用pdo实现事务处理操作示例

这篇文章主要介绍了PHP使用pdo实现事务处理操作,结合实例形式较为详细的分析了php基于pdo实现事务处理的相关原理与操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

thinkPHP框架实现类似java过滤器的简单方法示例

这篇文章主要介绍了thinkPHP框架实现类似java过滤器的简单方法,结合实例形式分析了thinkPHP基于继承实现的登录验证功能相关操作方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多