废话不多说,直接看代码!!
public class Demo2 {
public static void main(String[] args) {
//创建一个牌盒
HashMap<Integer,String> map = new HashMap<>();
//创建list集合 存放编号
ArrayList<Integer> list = new ArrayList<>();
//创建牌
String [] numbers = {"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
String [] colors = {"♦","♣","♥","♠"};
int num = 0;
for(String number :numbers){
for (String color :colors){
map.put(num,(color+number));
list.add(num);
num++;
}
}
//添加大小王
map.put(num,"大王");
list.add(num);
num++;
map.put(num,"小王");
list.add(num);
Collections.shuffle(list);
//发牌
//创建四个玩家 使用treeset集合 因为有自然排序
TreeSet<Integer> play1 = new TreeSet<>();
TreeSet<Integer> play2 = new TreeSet<>();
TreeSet<Integer> play3 = new TreeSet<>();
TreeSet<Integer> dipai= new TreeSet<>();
for (int x = 0;x<list.size();x++){
Integer i = list.get(x);
//获取最后三张牌的编号
if (x>=list.size()-3){
dipai.add(i);
}else if (x % 3 ==0 ){
play1.add(i);
}else if (x % 3 ==1){
play2.add(i);
}else {
play3.add(i);
}
}
poker("泥板子",play1,map);
poker("二愣子",play2,map);
poker("头憋的",play3,map);
poker("底牌",dipai,map);
//看牌
}
public static void poker(String name,TreeSet<Integer> set ,HashMap<Integer,String> map ){
System.out.print(name+"的牌是:");
//遍历treeset集合 获取编号
for (Integer x :set){
//通过编号x获取对应的牌
String s1 = map.get(x);
System.out.print(s1+" ");
}
System.out.println();
}
}
运行结果如下:
