JAVA实现斗地主(制牌,洗牌,发牌,看牌)集合完成
2019-07-01 00:34
441 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_39396379/article/details/94364819
package com.wcy; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; public class DouDiZhu { public static void main(String[] args){ String[] num = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"}; String[] color = {"♥","♠","♣","♦"}; HashMap<Integer, String> map = new HashMap<>(); //存放Map集合的Key值 ArrayList<Integer> li = new ArrayList<Integer>(); //记录制作出牌的数量 int i = 0; //制作52张牌 for (String s1 : num) { for (String s2 : color) { map.put(i,s2+s1); //将制作的牌放入ArrayList集合中 li.add(i); i++; } } //制作大小王 map.put(i, "大王"); li.add(i); i++; map.put(i, "小王"); li.add(i); //测试制作的牌 System.out.println(map); System.out.println(li); //洗牌 Collections.shuffle(li); System.out.println(li); //发底牌,将三张牌放入数组 ArrayList<Integer>bottom =new ArrayList<Integer>(); for (int j = 0; j < 3; j++) { bottom.add(li.remove(0)); } //创建三个集合放牌 ArrayList<Integer> p1 = new ArrayList<>(); ArrayList<Integer> p2 = new ArrayList<>(); ArrayList<Integer> p3 = new ArrayList<>(); while(!li.isEmpty()) { p1.add(li.remove(0)); p2.add(li.remove(0)); p3.add(li.remove(0)); } //给每个人齐牌 Collections.sort(p1); Collections.sort(p2); Collections.sort(p3); System.out.println(bottom); System.out.println(p1); System.out.println(p2); System.out.println(p3); //看牌 System.out.println("底牌:"+KanPai(bottom,map)); System.out.println("玩家1:"+KanPai(p1,map)); System.out.println("玩家2:"+KanPai(p2,map)); System.out.println("玩家3:"+KanPai(p3, map)); } //看牌方法 public static String KanPai(List<Integer> li,HashMap<Integer, String> map) { StringBuilder s =new StringBuilder(); //遍历每个集合 得到对应的值 for (int x : li) { String st=map.get(x); s.append(st).append("\t"); } return s.toString(); } }
相关文章推荐
- Java 集合实现 斗地主洗牌和发牌,看牌
- 【Java学习笔记】16.TreeMap集合实现斗地主洗牌发牌
- 集合框架_模拟斗地主洗牌和发牌并对牌进行排序的代码实现
- java用ArrayList集合来实现斗地主发牌案例
- Java使用Map集合实现斗地主
- 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_10 斗地主案例(双列)_2_斗地主案例的代码实现...
- Java基础知识强化之集合框架笔记70:模拟斗地主洗牌和发牌(ArrayList)
- java中Map集合、模拟斗地主洗牌发牌、JDK9对集合添加的优化
- java 利用集合实现斗地主算法
- 集合框架(模拟斗地主洗牌和发牌并对牌进行排序的代码实现)
- Java中使用HashMap,TreeSet和List来实现模拟斗地主的洗牌和发牌的小例子
- JAVA-11.3-模拟斗地主洗牌、发牌、并进行排序(集合)
- Java实现--模拟斗地主的洗牌和发牌
- Java学习笔记34(集合框架八:综合案例:模拟斗地主的洗牌发牌)
- 大数据之JAVA基础(十七):集合--模拟斗地主洗牌和发牌
- Java 集合类运用 斗地主洗牌
- Java集合实现斗地主功能
- Java基础知识强化之集合框架笔记71:模拟斗地主洗牌和发牌并对牌进行排序的案例
- java实现文件下载 调用IE自带的下载工具来完成下载
- 深入Java集合学习系列:HashMap的实现原理