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

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

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].'
';

$card['landwehr']['cards'] = array_slice($cards, 0, 3, true);

ksort($card['landwehr']['cards']);

echo '地主: '.implode(' ',$card['landwehr']['cards']).'
';

$card['user1']['cards'] = array_slice($cards, 3, 17, true);

ksort($card['user1']['cards']);

echo '用户一: '.implode(' ',$card['user1']['cards']).'
';

$card['user2']['cards'] =array_slice($cards, 20, 17, true);

ksort($card['user2']['cards']);

echo '用户二: '.implode(' ',$card['user2']['cards']).'
';

$card['user3']['cards'] = array_slice($cards, 37, 17, true);

ksort($card['user3']['cards']);

echo '用户三: '.implode(' ',$card['user3']['cards']).'
';

}

?>

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

用php模拟斗地主发牌,网络编程php模拟实现斗地主发牌相关推荐

  1. Java网络编程,模拟QQ群聊功能

    Java网络编程,模拟QQ群聊功能 一.网络编程知识点简介: 1.C/S架构:Client客户端/Server服务器: 涉及到的应用:桌面的应用软件,QQ,王者荣耀 涉及到的技术:Socket网络编程 ...

  2. 模拟斗地主游戏java编程_java实现模仿斗地主发牌

    本文实例为大家分享了java斗地主发牌的具体代码,供大家参考,具体内容如下 分析 这是一个模仿斗地主发牌的例子: 按照斗地主的规则,完成洗牌发牌的动作. 具体规则: 用0~53分别对应相应的花色和牌面 ...

  3. java 浏览器 爬虫_java 网络编程-爬虫+模拟浏览器

    网络爬虫+模拟浏览器(获取有权限网站资源): 获取URL 下载资源 分析 处理 public class http { public static void main(String[]args) th ...

  4. 【Netty】第二章 网络编程和 IO 概念剖析

    [Netty]第二章 网络编程 文章目录 [Netty]第二章 网络编程 一.网络编程 1.模拟阻塞模式下服务器单线程处理请求 2.模拟非阻塞模式下服务器单线程处理请求 3.使用 Selector 改 ...

  5. Java SE基础知识详解第[18]期—网络编程(通信)

    写在前面: 每一个不曾起舞的日子,都是对生命的辜负. 希望看到这里的每一个人都能努力学习,不负韶华,成就更好的自己. 以下仅是个人学习过程中的一些想法与感悟,Java知识博大精深,作为初学者,个人能力 ...

  6. Java项目模拟QQ群聊和私聊(网络编程+多线程)

    [文末获取资源] 前几天学习了多线程,最近在学习网络编程,了解了UDP之后又学习了TCP,听一下大佬说,要看看你这两个东西掌握的怎么样,最好的办法就是写一个模拟QQ群聊和私聊,经过这几天的学习,以及不 ...

  7. 使用java网络编程模拟简单网络即时通信

    使用java网络编程模拟简单网络即时通信 通信流程图: 解析: 1.在上图中我们可以看出对于任何一个客户端,都由两部分构成,发送端和接收端(分别由两个线程来维系) 2.客户端在每一次请求链接时都会轮询 ...

  8. Java网络编程学习——简单模拟在线聊天

    Java网络编程学习--简单模拟在线聊天 学了java网络,也是该做个小案例来巩固一下了. 本次案例将使用UDP和多线程模拟即时聊天,简单练练手. 1.前提知识 需要知道简单的IO流操作,以及简单的U ...

  9. 【java】模拟微信聊天(网络编程)

    模拟微信聊天(网络编程) 在如今,微信聊天已经人们生活中必不可少的重要组成部分,人们的交流很多都是通过微信来进行的.本案例要求将多线程与 UDP 通信相关知识结合,模拟实现局域网内两位微信好友聊天小程 ...

最新文章

  1. oracle fra空间不足,ORACLE 基础解决方案1_扩大FRA区
  2. WEP保护帧移除工具airdecloak-ng
  3. 16. Logging 模块的配置与使用
  4. 快速收录网站文章可以从这几步下手
  5. [ZPG TEST 109] 兔子跳跃【构图】
  6. 字符串根据字典值排序问题
  7. unity中链接字符串和变量显示_理解Unity中的优化(六):字符串和文本
  8. hdu---1172猜数字
  9. sharepoint 2013 sp1 patch安装后的手工运行
  10. 19.卷1(套接字联网API)---密钥管理套接字
  11. DP动态规划之01背包问题
  12. 推荐一些socket工具,TCP、UDP调试、抓包工具
  13. 离线数仓03-数仓分层业务逻辑
  14. 【图形和图像】三原色
  15. [1140]linux查看历史命令history
  16. Codingame - C - OnboardingThe Descent
  17. 对爱词霸(iciba)生词本功能的一些建议
  18. 从简易的json中提取数据
  19. Vulnhub靶机渗透测试——DC-3
  20. python如何关闭excel窗口_EXCEL应用程序窗口未关闭工作簿。关闭()

热门文章

  1. 计算机相近相关专业职称,职称人员相近专业认定目录 - 范文中心
  2. 怎么避免货物在进入海关时被扣留?-电子电器产品出口欧盟
  3. 串口总线通信DB9介绍
  4. 2.地址已经被使用——Address already in use
  5. 去中心化+云计算 IPFS使用者至联云大有可为
  6. CC00339.CloudKubernetes——|KuberNetes运维.V56|——|Prometheus.v01|自动发现.v01|创建secret|
  7. 机房监控系统的主要功能及监控内容!
  8. 利用OpenAI Gym建立一个简单的自动驾驶模拟器
  9. 水晶报表导出Excel多出空白页不完全解决方案
  10. 按键精灵获取Mac地址