import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;

public class PokerCards {

public static void main(String[] args) {
// 1. 准备花色 想法: 把四个花色 存放到一个容器里去
ArrayList<String> color = new ArrayList<>();
color.add("♠");
color.add("♣");
color.add("♦");
color.add("♥");

// 2. 准备数字 想法: 把7个数字 存放到一个容器里去
ArrayList<String> number = new ArrayList<>();
for (int i = 3; i < 11; i++) {
number.add(i+ "");
}
number.add("J");
number.add("Q");
number.add("K");
number.add("A");
number.add("2");// 为了确保2 > A 特此单独添加!

HashMap<Integer, String> map = new HashMap<>();
int index = 0;
for (String num : number) {
for (String col : color) {
// 将花色与数字进行组合 4 * 13 = 52
map.put(index++,col+num);
}
}
// 加入大王 、小王
map.put(index++,"大☺");
map.put(index++,"小☺");

ArrayList<Integer> cards = new ArrayList<>();
for (int i = 0; i <= 53; i++) {
cards.add(i);
}

// 开始进行洗牌
Collections.shuffle(cards);

ArrayList<Integer> player1 = new ArrayList<>();//玩家1
ArrayList<Integer> player2 = new ArrayList<>();//玩家2
ArrayList<Integer> player3 = new ArrayList<>();//玩家3

ArrayList<Integer> isSelectCards = new ArrayList<>();// 底牌

for (int i = 0; i < cards.size(); i++) {
if (i >=51){
isSelectCards.add(cards.get(i));// 留取三张底牌
}else{
if (i % 3 == 0){
player1.add(cards.get(i));
} else if (i % 3 == 1){
player2.add(cards.get(i));
}else{
player3.add(cards.get(i));
}
}
}

Collections.sort(player1); // 对玩家1手中的扑克进行排序
Collections.sort(player2);
Collections.sort(player3);
Collections.sort(isSelectCards);

ArrayList<String> splayer1 = new ArrayList<>();
ArrayList<String> splayer2 = new ArrayList<>();
ArrayList<String> splayer3 = new ArrayList<>();
ArrayList<String> sSelectCards = new ArrayList<>();

for (Integer key : player1) {
splayer1.add(map.get(key));
}
for (Integer key : player2) {
splayer2.add(map.get(key));
}
for (Integer key : player3) {
splayer3.add(map.get(key));
}
for (Integer key : isSelectCards) {
sSelectCards.add(map.get(key));
}
System.out.println("赵云:"+splayer1);
System.out.println("李信:"+splayer2);
System.out.println("韩信:"+splayer3);
System.out.println("底牌是:"+sSelectCards);

}
}