package com.oracle.demo01;

import java.util.ArrayList;

import java.util.Collections;

import java.util.HashMap;

import java.util.Map;

public class Doudizhu {

public static void main(String[] args) {

//1.创建扑克牌Map

Map pooker=new HashMap();

//创建所有key所在的容器

ArrayList pookerNum=new ArrayList();

//创建花色数组

String[] color={"♠","♣","♥","♦"};

//创建牌号数组

String[] number={"2","A","K","Q","J","10","9","8","7","6","5","4","3"};

//造牌并存进map集合

int index=2;

for(String n:number){

for(String c:color){

//向map中存数据

pooker.put(index,c+n);

//向所有key所在的容器存数据

pookerNum.add(index);

index++;

}

}

//存大小王

pooker.put(0, "大王");

pookerNum.add(0);

pooker.put(1, "小王");

pookerNum.add(1);

//洗牌

Collections.shuffle(pookerNum);

//System.out.println(pookerNum);

//发牌

//创建四个容器

ArrayList bottom=new ArrayList<>();

ArrayList player1=new ArrayList<>();

ArrayList player2=new ArrayList<>();

ArrayList player3=new ArrayList<>();

//开始发牌

for(int i=0;i

//将前三张给底牌

if(i<3){

bottom.add(pookerNum.get(i));

}else if(i%3==0){player1.add(pookerNum.get(i));

}else if(i%3==1){player2.add(pookerNum.get(i));

}else if(i%3==2){player3.add(pookerNum.get(i));

}

}

//排序(key升序 牌从大到小)

Collections.sort(bottom);

Collections.sort(player1);

Collections.sort(player2);

Collections.sort(player3);

//看牌(调用方法)

look("刘德华",player1,pooker);

look("张家辉",player2,pooker);

look("周润发",player3,pooker);

look("底牌",bottom,pooker);

}

//看牌的方法(传参为 玩家姓名,玩家的牌即键,所有牌的键值对)

public static void look( String name,ArrayList player,Mappooker){

//打印玩家姓名

System.out.print(name+":");

//遍历所有牌号

for(int num:player){

System.out.print(pooker.get(num)+" ");

}

System.out.println();

}

}

java多线程发牌 一个发牌 三个玩家_JAVA代码之斗地主发牌相关推荐

  1. java斗地主发牌代码_java代码实现斗地主发牌功能

    本文实例为大家分享了java实现斗地主发牌功能的具体代码,供大家参考,具体内容如下 实现斗地主发牌功能 共54张牌,地主比其他两名玩家多三张牌. 有一个card牌类和player玩家类,还有一个发牌类 ...

  2. java斗地主代码_java代码实现斗地主发牌功能

    本文实例为大家分享了java实现斗地主发牌功能的具体代码,供大家参考,具体内容如下 实现斗地主发牌功能 共54张牌,地主比其他两名玩家多三张牌. 有一个card牌类和player玩家类,还有一个发牌类 ...

  3. java斗地主发牌代码_JAVA代码之斗地主发牌

    package com.oracle.demo01; import java.util.ArrayList; import java.util.Collections; import java.uti ...

  4. java获取字典所有的key_java字典,多层字典,斗地主发牌,实例展示

    在我们的日常工作与生活当中,java都有涉及到.它具有十分强大的功能,并且内容也极其丰富,使用频率也是很高的,所以大家对于java的学习热情也是十分积极的.今天就来为大家介绍java字典,多层字典,斗 ...

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

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

  6. java中斗地主发牌程序代码_java模拟实现斗地主发牌小程序

    java模拟实现斗地主发牌小程序 发布于 2020-8-3| 复制链接 摘记: 一副扑克有54张牌:大小王+4*13,接下来我们来模拟一下斗地主的发牌过程首先,我们需要买牌,新买来的牌都是按顺序摆放的 ...

  7. Java 多线程详解(三)------线程的同步

    Java 多线程详解(一)------概念的引入:https://blog.csdn.net/weixin_39816740/article/details/80089790 Java 多线程详解(二 ...

  8. java多线程同步 多窗口卖票实例_java多线程之火车售票系统模拟实例

    1.前言 为了学习多线程共享与通信,我们模拟一个火车售票系统,假设有10张火车票,三个窗口(也就是三个线程)同时进行售票. 2.非同步代码 package com.tl.skyLine.thread; ...

  9. 斗地主发牌编程PHP,JAVA代码之斗地主发牌详解

    package com.oracle.demo01; import java.util.ArrayList; import java.util.Collections; import java.uti ...

最新文章

  1. python和R对dataframe进行连接、行过滤更新列内容:dplyr、merge、inner、left、right、inner_join、left_join、sort_values、loc
  2. 电信笔试c语言编程,华工电信院电子与通信工程 923复试面试,笔试考什么?复试真题...
  3. OpenGL生成的法线贴图并增加光照
  4. py_文件操作_01
  5. spring的依赖注入
  6. ES6新增数据类型符号(2):共享符号与知名符号
  7. 【译】Effective TensorFlow Chapter11——在TensorFlow中调试模型
  8. 这里面有一些关于依图工作的内容
  9. UnityShader5:基本内置变量
  10. Simple2D-22(重构)纹理池
  11. c语言 统计数量用count_C语言编程中统计输入的行数以及单词个数的方法
  12. mongoVue的使用
  13. u盘盘符不显示 win10_Win10不显示U盘的盘符怎么办丨Win10不显示U盘的盘符解决方法...
  14. kvm连接服务器显示不全有重影,KVM多电脑切换器常见故障排查及处理方法
  15. 12306验证码识别
  16. OPENWRT-LUCI开发总结-LUCI开发过程中的小技巧
  17. Object.entries()方法的使用和实现
  18. Atitit 手机号码选号 规范 流程 attilax总结 v2 r99.docx
  19. pandas数据日期函数之date_range()、resample()与to_period()
  20. linux 强制类型转换,C++ 新标准下的强制类型转换详解

热门文章

  1. Tomcat - ClassFormatException的解决方法
  2. 搭建dubbo项目解决dubbo.xml标签报错的问题
  3. C# “Thread类Suspend()与Resume()已过时” 解决方法(利用ManualResetEvent类)
  4. 解决Windows对JDK默认版本切换问题
  5. PHP:使用Zend对源码加密、Zend Guard安装以及Zend Guard Run-time support missing的解决方法
  6. 如何有效地连接字符串
  7. Android多线程之ArrayBlockingQueue源码解析
  8. 三分钟学会css3中的flexbox布局
  9. 开源阿牛图像处理实验室
  10. 让按钮倒计时5秒以后才能再次点击提交 倒计时按钮