1 package com.biggw.day14.demo05;
 2
 3 import java.util.*;
 4
 5 /**
 6  * @author gw
 7  * @date 2019/11/6 0006 下午 17:20
 8  */
 9
10 /*
11  * 斗地主
12  * */
13 public class DouDiZhu {
14     public static void main(String[] args) {
15         List<String> color = List.of("♦", "♣", "♠", "♥");
16         List<String> numbers = List.of("3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "2");
17
18         // 存储牌的索引
19         ArrayList<Integer> pokerIndex = new ArrayList<>();
20         // 存储牌的索引和组装好的牌
21         HashMap<Integer, String> hashMap = new HashMap<>();
22         int count = 0;
23         hashMap.put(53, "小王");
24         hashMap.put(54, "大王");
25         for (int j = 0; j < numbers.size(); j++) {
26             for (int i = 0; i < color.size(); i++) {
27                 ++count;
28                 pokerIndex.add(count);
29                 hashMap.put(count, color.get(i) + numbers.get(j));
30             }
31         }
32         Collections.addAll(pokerIndex, 53, 54);
33         System.out.println("pokerIndex = " + pokerIndex);
34         System.out.println("hashMap = " + hashMap);
35
36         // 洗牌
37         Collections.shuffle(pokerIndex);
38
39         ArrayList<Integer> player1 = new ArrayList<>();
40         ArrayList<Integer> player2 = new ArrayList<>();
41         ArrayList<Integer> player3 = new ArrayList<>();
42         ArrayList<Integer> diPai = new ArrayList<>();
43
44         ArrayList<String> player1Poker = new ArrayList<>();
45         ArrayList<String> player2Poker = new ArrayList<>();
46         ArrayList<String> player3Poker = new ArrayList<>();
47         ArrayList<String> diPaiPoker = new ArrayList<>();
48
49         // 发牌
50         for (int i = 0; i < pokerIndex.size(); i++) {
51             Integer index = pokerIndex.get(i);
52             if (i >= 51) {
53                 diPai.add(index);
54             } else if (i % 3 == 0) {
55                 player1.add(index);
56             } else if (i % 3 == 1) {
57                 player2.add(index);
58             } else if (i % 3 == 2) {
59                 player3.add(index);
60             }
61         }
62         Collections.sort(player1);
63         Collections.sort(player2);
64         Collections.sort(player3);
65         Collections.sort(diPai);
66
67
68         Set<Integer> integers = hashMap.keySet();
69         Iterator<Integer> iterator = integers.iterator();
70         for (int i = 0; i < player1.size(); i++) {
71             player1Poker.add(hashMap.get(player1.get(i)));
72         }
73         for (int i = 0; i < player2.size(); i++) {
74             player2Poker.add(hashMap.get(player2.get(i)));
75         }
76         for (int i = 0; i < player3.size(); i++) {
77             player3Poker.add(hashMap.get(player3.get(i)));
78         }
79         for (int i = 0; i < diPai.size(); i++) {
80             diPaiPoker.add(hashMap.get(diPai.get(i)));
81         }
82
83
84         System.out.println("player1Poker = " + player1Poker);
85         System.out.println("player2Poker = " + player2Poker);
86         System.out.println("player3Poker = " + player3Poker);
87         System.out.println("diPaiPoker = " + diPaiPoker);
88     }
89
90 }



pokerIndex = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54]
hashMap = {1=♦3, 2=♣3, 3=♠3, 4=♥3, 5=♦4, 6=♣4, 7=♠4, 8=♥4, 9=♦5, 10=♣5, 11=♠5, 12=♥5, 13=♦6, 14=♣6, 15=♠6, 16=♥6, 17=♦7, 18=♣7, 19=♠7, 20=♥7, 21=♦8, 22=♣8, 23=♠8, 24=♥8, 25=♦9, 26=♣9, 27=♠9, 28=♥9, 29=♦10, 30=♣10, 31=♠10, 32=♥10, 33=♦J, 34=♣J, 35=♠J, 36=♥J, 37=♦Q, 38=♣Q, 39=♠Q, 40=♥Q, 41=♦K, 42=♣K, 43=♠K, 44=♥K, 45=♦A, 46=♣A, 47=♠A, 48=♥A, 49=♦2, 50=♣2, 51=♠2, 52=♥2, 53=小王, 54=大王}
player1Poker = [♦3, ♦5, ♣5, ♥5, ♣6, ♠6, ♣7, ♠7, ♠8, ♥9, ♥10, ♥J, ♥Q, ♠K, ♠A, ♣2, ♠2]
player2Poker = [♣3, ♦4, ♥6, ♥7, ♣8, ♥8, ♦9, ♠9, ♦10, ♣10, ♠10, ♦J, ♣J, ♠J, ♦Q, ♣Q, ♠Q]
player3Poker = [♠3, ♥3, ♣4, ♥4, ♠5, ♦6, ♦7, ♣9, ♦K, ♣K, ♦A, ♣A, ♥A, ♦2, ♥2, 小王, 大王]
diPaiPoker = [♠4, ♦8, ♥K]

12-30 15:56