标签:通过 依次 shu array 一个 shm .sh out shuff
1 import java.util.ArrayList; 2 import java.util.Collections; 3 import java.util.HashMap; 4 import java.util.TreeSet; 5 6 public class Porker { 7 8 public static void main(String[] args) { 9 //声明一个索引用于存储牌 10 int index = 0; 11 //声明花色集合 12 String [] color = {"方块","红桃","梅花","黑桃"}; 13 //声明牌数字集合 14 String [] num = {"3","4","5","6","7","8","9","10","J","Q","K","A","2"}; 15 //创建一个集合用于存储54张牌 16 HashMap<Integer, String> SumPorker = new HashMap<Integer, String>(); 17 for (String c : num) { 18 for (String n : color) { 19 String value = n + c; 20 SumPorker.put(index, value); 21 index++; 22 } 23 } 24 //添加大小王 25 SumPorker.put(index++, "Lk"); 26 SumPorker.put(index, "BK"); 27 printporker(SumPorker); 28 //创建一个集合,存储54张牌的序号 29 ArrayList<Integer> SPindex = new ArrayList<Integer>(); 30 for (int i = 0; i < 54; i++) { 31 SPindex.add(i); 32 } 33 //打乱牌--洗牌 34 Collections.shuffle(SPindex); 35 //新建3个玩家和一个底牌,即TreeSet集合 36 TreeSet<Integer> play_1 = new TreeSet<Integer>(); 37 TreeSet<Integer> play_2 = new TreeSet<Integer>(); 38 TreeSet<Integer> play_3 = new TreeSet<Integer>(); 39 TreeSet<Integer> endPorker = new TreeSet<Integer>(); 40 for (int i = 0; i < SPindex.size(); i++) { 41 if (i>=SPindex.size()-3) 42 endPorker.add(SPindex.get(i)); 43 else if(i%3 == 1) 44 play_3.add(SPindex.get(i)); 45 else if(i%3 ==0) 46 play_2.add(SPindex.get(i)); 47 else 48 play_1.add(SPindex.get(i)); 49 } 50 System.out.println("玩家1:"); 51 END_1(play_1,SumPorker); 52 System.out.println("玩家2:"); 53 END_1(play_2,SumPorker); 54 System.out.println("玩家3:"); 55 END_1(play_3,SumPorker); 56 System.out.println("底牌:"); 57 END_1(endPorker,SumPorker); 58 } 59 //获取洗牌后的牌 60 public static void END_1(TreeSet<Integer> gamer,HashMap<Integer,String> sumHashMap){ 61 for (int i : gamer) { 62 System.out.print(sumHashMap.get(i)+"\t"); 63 } 64 System.out.println(); 65 } 66 //输出扑克牌 67 public static void printporker(HashMap<Integer, String> SumPorker){ 68 System.out.println("扑克牌:"); 69 for (int i = 0; i < SumPorker.size(); i++) { 70 if (i % 4 == 0) { 71 System.out.println(); 72 } 73 System.out.print(SumPorker.get(i)+"\t"); 74 } 75 System.out.println(); 76 } 77 78 }
运行结果:
1 扑克牌: 2 3 方块3 红桃3 梅花3 黑桃3 4 方块4 红桃4 梅花4 黑桃4 5 方块5 红桃5 梅花5 黑桃5 6 方块6 红桃6 梅花6 黑桃6 7 方块7 红桃7 梅花7 黑桃7 8 方块8 红桃8 梅花8 黑桃8 9 方块9 红桃9 梅花9 黑桃9 10 方块10 红桃10 梅花10 黑桃10 11 方块J 红桃J 梅花J 黑桃J 12 方块Q 红桃Q 梅花Q 黑桃Q 13 方块K 红桃K 梅花K 黑桃K 14 方块A 红桃A 梅花A 黑桃A 15 方块2 红桃2 梅花2 黑桃2 16 Lk BK 17 玩家1: 18 红桃4 方块5 红桃5 梅花5 方块6 红桃7 梅花9 黑桃9 方块10 方块Q 红桃Q 梅花K 方块A 红桃A 梅花A 红桃2 BK 19 玩家2: 20 黑桃3 黑桃4 梅花7 黑桃7 方块8 梅花8 方块9 红桃9 红桃10 梅花10 黑桃10 黑桃J 黑桃Q 方块K 黑桃K 梅花2 黑桃2 21 玩家3: 22 方块3 红桃3 梅花3 方块4 梅花4 红桃6 梅花6 黑桃6 方块7 红桃8 黑桃8 红桃J 梅花J 红桃K 黑桃A 方块2 Lk 23 底牌: 24 黑桃5 方块J 梅花Q
标签:通过 依次 shu array 一个 shm .sh out shuff
原文地址:https://www.cnblogs.com/snoopy-GJT/p/9621762.html