public class PoKer {
public static void main(String[] args) {
/*
1.准备牌
*/
//1.1准备牌盒
ArrayList pokerBox = new ArrayList<>();
//1.2创建花色集合
ArrayList colors = new ArrayList<>();
//1.3创建数字集合
ArrayList numbers = new ArrayList<>();
//1.4 将花色 数字 添加的牌盒集合里面
colors.add("♠");
colors.add("♥");
colors.add("♣");
colors.add("♦");
for (int i = 2; i <= 10; i++) {
numbers.add(i+" ");
}
numbers.add("A");
numbers.add("J");
numbers.add("Q");
numbers.add("K");
//1.5 拼接牌 花色加数字
for (String color : colors) {
for (String number : numbers) {
String card = color + number;
pokerBox.add(card);
}
}
// 大王 小王
pokerBox.add("大王");
pokerBox.add("小王");
System.out.println(pokerBox);
// 洗牌 是不是就是将 牌盒中 牌的索引打乱
// Collections类 工具类 都是 静态方法
// shuffer方法
/* static void shuffle(List> list)
使用默认随机源对指定列表进行置换。
*/
//2:洗牌
Collections.shuffle(pokerBox);
//3.发牌
//创建三个玩家: 三个玩家集合 +底牌集合
ArrayList wanjia1 = new ArrayList<>();
ArrayList wanjia2 = new ArrayList<>();
ArrayList wanjia3 = new ArrayList<>();
ArrayList dipai = new ArrayList<>();
//遍历牌盒 必须知道索引
for (int i = 0; i < pokerBox.size(); i++) {
//获取 牌面
String card = pokerBox.get(i);
//留三张牌 当做底牌
if (i>=51){//存到底牌集合
dipai.add(card);
}else {//玩家1
if (i%3==0){
wanjia1.add(card);
}else if (i%3==1){//玩家2
wanjia2.add(card);
}else {//玩家3
wanjia3.add(card);
}
}
}
//看牌
System.out.println("张三"+ wanjia1);
System.out.println("李四"+ wanjia2);
System.out.println("王五"+ wanjia3);
System.out.println("底牌"+ dipai);
}
}