用php模拟斗地主发牌,php模拟实现斗地主发牌

本文实例为大家分享了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"])."
";

}

?>

07fd06829bb72529a69192d6ee8c8974.png

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/340477.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python odoo_Odoo开发教程20-使用 Python 虚拟环境安装 Odoo第二讲

配置插件(add-ons)路径社区贡献的插件可以打包成 Python 库,发布到 Python 包索引(PyPI -Python Package Index),然后像其它库一样使用 pip 安装。为了能使用这一方法,Odoo 自动添加了 sitepackages/文件夹至插件配置路径,用于安装…

如何在AWS EC2实例上部署Spring Boot应用程序

你好朋友, 在本教程中,我们将看到如何在AWS EC2实例上部署Spring Boot应用程序。 这是我们将要执行的步骤。 1.使用Spring Boot Initialiser创建一个Spring Boot项目。 2.创建一个休息端点,部署后我们可以访问 3.启动EC2实例 4.将我们的…

ps -ef grep java解释,ps -ef | grep java(示例代码)

ps命令将某个进程显示出来grep命令是查找中间的|是管道命令 是指ps命令与grep同时执行PS是LINUX下最常用的也是非常强大的进程查看命令grep命令是查找,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是…

python世界第一语言_Java 跌落神坛!Python 正式登顶世界第一编程语言

编程语言流行指数(PYPL)排行榜近日公布了2019年2月份榜单。在最新一期榜单上,Python的份额高达26.42%,稳居第一,并且猛增5.2%,同时成为增长势头最好的语言。而被挤到第二的Java,目前份额为21.2%…

成为Java流大师–第3部分:终端操作

比尔盖茨曾经说过:“我选择一个懒惰的人去做一件困难的事情,因为一个懒惰的人会找到一个简单的方法来做。” 关于流,没有什么比这更真实了。 在本文中,您将学习Stream如何通过在调用终端操作之前不对源元素执行任何计算来避免不必…

python选项卡中文详细说明_pycharm窗口选项卡管理

1、主题我们已经注意到Pycharm的主编辑框是基于窗口选项卡机制显示的,Pycharm选项卡多种多样,这里我们将详细介绍这种选项卡机制。2、激活的选项卡每当我们打开一个Python文件时open a file for editing,它都会对应打开一个选项卡窗口&#x…

和至少为k的最短子数组 python_和至少为k的最短子数组

// 单调栈// 维护一个具有栈单调性的队列,跟动态规划不一样的是时间复杂度为O(n)// queue[i]中存放着前缀和// 我们知道因为负数的存在,所以队列不是单调增长的,但是不单调的其实对我们没有用// 因为肯定可以找到比它短的(因此我们移除比)// …

matlab多径信道模型,基于matlab的无线多径信道建模与仿真分析

基于matlab的无线多径信道建模与仿真分析 基于MATLAB的无线多径信道建模与仿真分析 摘 要:对于无线通信, 衰落是影响系统性能的重要因素, 而不同形式的衰落对于信号产生的影响 也不相同。本文在阐述移动多径信道特性的基础上, 建立了不同信道模型下多径时延效应的计算 机仿真模…

c 遍历文件 递归遍历_将递归文件系统遍历转换为流

c 遍历文件 递归遍历在学习编程的时候,回溯到Turbo Pascal的时代,我设法使用FindFirst , FindNext和FindClose函数在目录中列出文件。 首先,我想出了一个打印给定目录内容的过程。 您可以想象我为能够真正从自身调用该过程以递归遍…

净迁移人口预测程序python_高质量深度学习模型, 一键模型预测,迁移学习很简单...

飞桨(PaddlePaddle)核心框架Paddle Fluid v1.5已经发布,而作为其关键工具,用来迁移学习的PaddleHub也进行了全面更新,正式发布了1.0版本。全新的PaddleHub模型和任务更加丰富,为用户提供了覆盖 文本 、 图像 和 视频 三大领域八大…

您的JVM是否泄漏文件描述符-像我的一样?

前言:此处描述的两个问题是在一年前发现并修复的。 本文仅用作历史证明,也是有关解决Java中文件描述符泄漏的初学者指南。 在Ultra ESB中,我们使用内存RAM磁盘文件缓存来进行快速且无垃圾的有效负载处理。 一段时间以前,我们在共…

matlab中degrees,Convert degrees-minutes-seconds to degrees

Angle in degrees-minutes-seconds representation, specified as ann-by-3 real-valued matrix. Each row specifies oneangle, with the format [D M S]:D contains the “degrees” elementand must be integer-valued.M contains the “minutes” elementand must be integ…

螺旋桨设计软件_欧洲斥巨资研发的A400M螺旋桨运输机,为啥就没人买啊?| 图说...

A400M是欧洲自行设计、研制和生产的新一代军用运输机,也是欧盟国家进行合作的最大的武器联合研制项目。A400M最大的特点,就是其标志性的8叶弯刀螺旋桨。A400M也是20世纪后服役的为数不多的几个使用涡轮旋桨发动机的军用运输机之一。A400M曾在系列电影《碟…

python5个功能_5个常用的定制Python功能代码

文章来源:淘论文网 发布者:毕业设计浏览量:一、随机数生成>>> import random #导入Python内置的随机模块>>> num random.randint(1,1000) #生成1-1000之间的伪随机数二、读文件>>> f open(c:\1.txt,r)>>> lin…

php链接远程socket,php使用socket获取远程图片

步骤:1,匹配URL中的主机名和文件部分2,创建socket并连接到目标服务器3,构造HTTP请求并发送4,读取HTTP响应并解析5,保存内容到文件并关闭socket连接代码实现如下:/** 使用socket获取远程资源(网页…

JAR文件句柄:烦恼后清理!

在Ultra ESB中,我们使用特殊的热交换类加载器 ,该加载器使我们可以按需重新加载Java类。 这使我们能够从字面上热交换我们的部署单元 -加载,卸载,使用更新的类重新加载,以及正常地逐步退出-无需重启JVM。 Windows&…

大气校正后的ndvi_Sentinel2 L1C下载、大气校正、重采样

点击蓝字关注我哦1.基本信息(成像仪/重访周期/波段数/分辨率)哨兵2号是高分辨率多光谱成像卫星,携带一枚多光谱成像仪(MSI),用于陆地监测,可提供植被、土壤和水覆盖、内陆水路及海岸区域等图像,分为2A和2B两颗卫星,哨兵&#xff0…

hello python的代码,python基础教程之Hello World!

Python命令行假设你已经安装好了Python, 那么在Linux命令行输入:代码如下:$python将直接进入python。然后在命令行提示符>>>后面输入:代码如下:>>>print(Hello World!)可以看到,随后在屏幕上输出:代码如下:Hello World!print是一个常用函数&#…

python3 线程隔离_Python的线程隔离实现方法

前段时间看了下flask的源码,对于这样一个轻量级的web框架是怎样支持多线程的感到非常好奇,于是深入了解了一番。flask是依赖werkeug来实现线程间的隔离的,而werkeug最后又使用到了python的内置模块locals来承载数据,看不如写&…

限定通配符和非限定通配符_为什么我不信任通配符以及为什么我们仍然需要通配符...

限定通配符和非限定通配符在将子类型多态性&#xff08;面向对象&#xff09;与参数多态性&#xff08;泛型&#xff09;相结合的任何编程语言中&#xff0c;都会出现方差问题。 假设我有一个字符串列表&#xff0c;键入List<String> 。 我可以将其传递给接受List<Obj…