闲来无聊,就写了这个方法,也算是熟悉下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 >';
} ?>

php 模拟斗地主发牌简单易懂的更多相关文章

  1. java 模拟斗地主发牌洗牌

    一 模拟斗地主洗牌发牌 1.案例需求 按照斗地主的规则,完成洗牌发牌的动作. 具体规则: 1. 组装54张扑克牌 2. 将54张牌顺序打乱 3. 三个玩家参与游戏,三人交替摸牌,每人17张牌,最后三张 ...

  2. java集合--模拟斗地主发牌洗牌

    import java.util.*; /** * @Date: 2020/6/17 19:53 */public class Test04 { public static void main(Str ...

  3. java模拟斗地主发牌看牌

    import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; public class Dou ...

  4. Java模拟斗地主发牌和洗牌

    package cn.itcast_04; import java.util.ArrayList; import java.util.Collections; import java.util.Has ...

  5. Java基础知识强化之集合框架笔记71:模拟斗地主洗牌和发牌并对牌进行排序的案例

    1. 模拟斗地主洗牌和发牌并对牌进行排序的原理图解: 2. 代码实现: 思路: • 创建一个HashMap集合 • 创建一个ArrayList集合 • 创建花色数组和点数数组 • 从0开始往HashM ...

  6. Java基础知识强化之集合框架笔记70:模拟斗地主洗牌和发牌(ArrayList)

    1. 模拟斗地主洗牌和发牌 分析:     A:创建一个牌盒     B:装牌     C:洗牌     D:发牌     E:看牌 2. 代码实现: package cn.itcast_03; im ...

  7. Map集合、HashMap集合、LinkedHashMap集合、Hashtable集合、Collections工具类和模拟斗地主洗牌和发牌

    1.Map集合概述和特点 * A:Map接口概述  * 查看API可以知道:          * 将键映射到值的对象          * 一个映射不能包含重复的键          * 每个键最多 ...

  8. 前端怎么用js模拟应用 JSON-通俗易懂

    前端怎么用js模拟应用 JSON-通俗易懂,这是转载额 好多孩子 弄不明确复杂的json 格式的应用,以下从基础来看一看JSON.怎么玩, 事实上结构理解清了,写起来比html还爽吧. 0.前言   ...

  9. Unity NGUI 网络斗地主 -发牌 脚本交互

    Unity NGUI 网络斗地主 -发牌 脚本交互 @By 灰太龙 Unity4.2.1f4 NGUI 3.0.4 本篇说的问题是脚本与控件的交互! 现在对界面进行了改进,先看副图! 1.制作发牌效果 ...

随机推荐

  1. TCP/IP三次握手

    题目: TCP建立连接的过程采用三次握手,已知第三次握手报文的发送序列号为1000,确认序列号为2000,请问第二次握手报文的发送序列号和确认序列号分别为 1999,999 1999,1000 999 ...

  2. ###《Machine Learning in Action》 - KNN

    初学Python:理解机器学习. 算法是需要实现的,纸上得来终觉浅. // @author: gr // @date: 2015-01-16 // @email: forgerui@gmail.com ...

  3. Java获取线程的对象和名称

    /*获取线程对象以及名称(很有意义的) 原来线程都有自己默认的名称Thread-编号  该编号从0开始 Thread 父类的方法static  Thread currentThread() :获取当前 ...

  4. Java实战之03Spring-02Spring的核心之IoC

    二.Spring的核心之IoC(Inversion of Control 控制反转) 1.IoC是什么? 回顾:连接池原理中的使用. 注意:我们在连接池原理中是使用构造函数注入的,当然还可以通过提供s ...

  5. Codevs 3289 花匠 2013年NOIP全国联赛提高组

    3289 花匠 2013年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 花匠栋栋种了一排花,每株花都 ...

  6. Redis与Memcached的比较

    网络IO模型 Memcached 是多线程,非阻塞IO复用的网络模型,分为监听主线程和worker子线程,监听线程监听网络连接,接受请求后,将连接描述字pipe 传递给worker线程,进行读写IO, ...

  7. jQuery手风琴广告展示插件

    效果说明:当鼠标移动到已折叠广告的标题后,折叠当前已展开的广告,并同步展开相应的折叠广告.这种Accordion效果,看似简单,但因为存在动画同步的问题,不能简单地用两个animate()来实现.必须 ...

  8. jquery-easyui使用

    1,闲来无事用了一下jquery-easyui,首先下载下来easyui,文件夹如图 2,将themes里面的东西整体拷贝,我是整体的,省的麻烦了 3,在在自己的vs里面新建一个mvc的项目(项目自己 ...

  9. 关于解决JQuery发送Ajax请求后,IE缓存数据不更新的问题

    http://www.cnblogs.com/lys_013/archive/2013/08/07/3243435.html 今天在做ajax页面无刷新请求后台服务器数据的时候,IE下遭遇Ajax缓存 ...

  10. python with关键字学习

    1.with语句时用于对try except finally 的优化,让代码更加美观, 例如常用的开发文件的操作,用try except finally 实现: f=open('file_name', ...