标签:util i++ system put rgs size main lse iam
代码:
1 import java.util.*; 2 3 public class Poker2 { 4 public static void main(String[] args) { 5 /* 6 * 1组装54张扑克牌 7 */ 8 //1.1创建Map集合储存 9 HashMap<Integer, String> pokerMap = new HashMap<>(); 10 // 1.2 创建 花色集合 与 数字集合 11 ArrayList<String> colors = new ArrayList<>(); 12 ArrayList<String> numbers = new ArrayList<>(); 13 // 1.3 存储 花色 与数字 14 Collections.addAll(colors, "♦", "♣", "♥", "♠"); 15 Collections.addAll(numbers, "A", "K", "Q", "J", "10", "9", "8", "7", "6", "5", "4", "3", "2"); 16 // 设置 存储编号变量 17 int count = 0; 18 // 1.4 创建牌 存储到map集合中 19 pokerMap.put(count, "大?"); 20 pokerMap.put(count++, "小?"); 21 for (String color : colors) { 22 for (String number : numbers) { 23 String card = color + number; 24 pokerMap.put(count++, card); 25 } 26 } 27 /* 28 *2 将54张牌顺序打乱 29 */ 30 // 取出编号 集合 31 Set<Integer> numberSet = pokerMap.keySet(); 32 // 因为要将编号打乱顺序 所以 应该先进行转换到 list集合中 33 ArrayList<Integer> numberList = new ArrayList<>(); 34 numberList.addAll(numberSet); 35 //打乱顺序 36 Collections.shuffle(numberList); 37 /* 38 *3 完成三个玩家交替摸牌,每人17张牌,最后三张留作底牌 39 */ 40 // 3.1 发牌的编号 41 // 创建三个玩家编号集合 和一个 底牌编号集合 42 ArrayList<Integer> noP1 = new ArrayList<Integer>(); 43 ArrayList<Integer> noP2 = new ArrayList<Integer>(); 44 ArrayList<Integer> noP3 = new ArrayList<Integer>(); 45 ArrayList<Integer> dipaiNo = new ArrayList<Integer>(); 46 // 3.2发牌的编号 47 for (int i = 0; i < numberList.size(); i++) { 48 //获取该编号 49 Integer integer = numberList.get(i); 50 if (i >= 51) { 51 dipaiNo.add(integer); 52 } 53 if (i % 3 == 0) { 54 noP1.add(integer); 55 } else if (i % 3 == 1) { 56 noP2.add(integer); 57 } else { 58 noP3.add(integer); 59 } 60 } 61 /* 62 *4 查看三人各自手中的牌(按照牌的大小排序)、底牌 63 */ 64 // 4.1 对手中编号进行排序 65 /* Collections.sort(noP1); 66 Collections.sort(noP2); 67 Collections.sort(noP3); 68 Collections.sort(dipaiNo);*/ 69 // 4.2 进行牌面的转换 70 // 创建三个玩家牌面集合 以及底牌牌面集合 71 ArrayList<String> player1 = new ArrayList<String>(); 72 ArrayList<String> player2 = new ArrayList<String>(); 73 ArrayList<String> player3 = new ArrayList<String>(); 74 ArrayList<String> dipai = new ArrayList<String>(); 75 for (Integer i : noP1) { 76 String str = pokerMap.get(i); 77 player1.add(str); 78 } 79 for (Integer i : noP2) { 80 String str = pokerMap.get(i); 81 player2.add(str); 82 } 83 for (Integer i : noP3) { 84 String str = pokerMap.get(i); 85 player3.add(str); 86 } 87 for (Integer i : dipaiNo) { 88 String str = pokerMap.get(i); 89 dipai.add(str); 90 } 91 //4.5 查看 92 System.out.println("令狐冲:" + player1); 93 System.out.println("石破天:" + player2); 94 System.out.println("鸠摩智:" + player3); 95 System.out.println("底牌:" + dipai); 96 97 } 98 }
标签:util i++ system put rgs size main lse iam
原文地址:https://www.cnblogs.com/0error0warning/p/12528442.html