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模拟实现斗地主发牌小程序

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

  4. java的注释规范_Java代码注释规范

    1,单行(单行)-简短说明: ///... 单行注释: 代码中的单行注释. 最好在注释前有一个空行,并在其后加上与代码相同的缩进级别. 如果无法完成一行,则应使用块注释. 评论格式: 在行首注释: 在 ...

  5. 账单比较java代码_Java代码比较两个文件的MD5

    比较MD5就可以知道两个文件是否一样,那为什么要知道文件一不一样呢? 有时候开发的时候自己本地环境跑的功能一切正常,到了测试环境却不行了,那有可能是测试环境的文件没有部署到最新的. 怎么判断是否最新呢 ...

  6. word转换成pdf java代码_java代码实现word转换成pdf

    [实例简介] va代码 word转pdf ,word批量转换成pdf,word单独转换成pdf,只需要调用WordToPDFUtil方法就可以实现批量或者单独转换 [实例截图] [核心代码] e6f6 ...

  7. java 不要使用魔法值_Java代码中的魔法值

    所谓魔法值,是指在代码中直接出现的数值,只有在这个数值记述的那部分代码中才能明确了解其含义. 1. 前言 重构老代码中遇到了不少类似下面这种写法: public void attend(String ...

  8. java代码_Java 代码实现排序算法

       阅读本文约需要8分钟  大家好,我是你们的导师,我每天都会在这里给大家分享一些干货内容(当然了,周末也要允许老师休息一下哈).上次老师跟大家分享了下SpringBoot+Gradle+ MyBa ...

  9. java元素符号是什么_Java 代码中 @ 符号是什么意思?

    展开全部 annotation. Annotation,是Java5的新特性,下面是Sun的Tutorial的描述,因为是英文,这里我翻译下,希望能够比较清晰323131333532363134313 ...

最新文章

  1. Python3爬虫之爬取某一路径的所有html文件
  2. HTTP协议之post multipart/form-data数据类型实例
  3. “adb”不是内部或外部命令,也不是可运行的程序或批处理文件(Win)与(Mac)——终极解决方案
  4. OpenCV-Python:模板匹配
  5. php post验证输入,$.post()登录验证功能
  6. k8s管理java项目_Kubernetes集群部署项目-部署Java项目(推送镜像
  7. 2018年终总结—努力做一个有趣的人
  8. Rsync常见错误及命令详细参数
  9. 100内奇数之和流程图_互联网人工智能编程语言Python之while循环详解
  10. 如何使用 Numbers 筛选出特定种类的资料?
  11. java mainclass_java – 无法加载Main-Class清单属性
  12. 大学生个人网页模板 简单网页制作作业成品 极简风格个人介绍HTML网页设计代码下载
  13. 全球知名开源项目与组织齐聚!——峰会【开源开放 生态共建】论坛来啦
  14. 路飞学城Python-Day13
  15. keil软件是干嘛的?keil软件怎么用?
  16. 运算放大器使用注意事项
  17. java继承stu继承person_4.3 jmu-Java-03面向对象-06-继承覆盖综合练习-Person、Student、Employee、Company (20 分)中的一些问题...
  18. 清华-计算机-考研-精华帖-汇总
  19. 首都师范大学计算机考研调剂,2018年首都师范大学考研调剂信息
  20. 44个Java编码规范与常用知识点

热门文章

  1. linux 常见分区标识,linux与设备磁盘分区的方式与标识(三)
  2. 淘宝网店经营场所证明如何下载
  3. 油田信息化:通往智慧之路(1.2-智慧城市在全球的发展)
  4. i.MX6ULL开发板终结者资料介绍
  5. ASP.NET Core:静态文件
  6. 迅雷,qq旋风等下载链接加密算法解析
  7. [原创] PS美女转手绘效果
  8. 用计算机设计主题色调,Win10个性化颜色怎么设置 自定义Win10主题颜色方法 (全文)...
  9. 07级衡阳计算机学校,投诉衡阳三塘镇朝阳路6号的计算机学校(现名蔡伦科技职业技术学院)...
  10. ZTE ME3630 4G模块在Hi3559AV100平台上拨号指令流程