![]()
public class Demo01 {
public static void main(String[] args) {
//创建装有牌的Map集合
HashMap<Integer,String> pooker=new HashMap<Integer,String>();
//创建装有牌号的ArrayList集合
ArrayList<Integer> pookerNum=new ArrayList<Integer>();
//封装花色和号码
String color[]={"黑桃","红心","菱形","梅花"};
String number[]={"2","A","K","Q","J","10","9","8"
,"7","6","5","4","3" };
int index=2;
for(String num:number){
for(String col:color){
//封装Map集合
pooker.put(index,col+num);
//将key值封装到list集合中
pookerNum.add(index);
index++;
}
}
//封装大小王
pooker.put(0, "大王");
pooker.put(1, "小王");
pookerNum.add(0);
pookerNum.add(1);
//洗牌
Collections.shuffle(pookerNum);
//创建三个玩家一个底牌
ArrayList<Integer> player1=new ArrayList<Integer>();
ArrayList<Integer> player2=new ArrayList<Integer>();
ArrayList<Integer> player3=new ArrayList<Integer>();
ArrayList<Integer> bottom=new ArrayList<Integer>();
//发牌
for(int i=0;i<pookerNum.size();i++){
//先将前三张牌发给底牌
if(i<3){
bottom.add(pookerNum.get(i));
}else if(i%3==0){//发给玩家1
player1.add(pookerNum.get(i));
}else if(i%3==1){
player2.add(pookerNum.get(i));
}else if(i%3==2){
player3.add(pookerNum.get(i));
}
}
//排序
Collections.sort(player1);
Collections.sort(player2);
Collections.sort(player3);
Collections.sort(bottom);
//看牌
look("渣渣灰",pooker,player1);
look("刘嘉玲",pooker,player2);
look("林志炫",pooker,player3);
look("底牌",pooker,bottom);
}
//写一个方法遍历集合看牌
public static void look(String name,HashMap<Integer,String> pooker
,ArrayList<Integer> player){
System.out.print(name+":");
//遍历玩家集合牌号
for(int key:player){
//根据每一个牌号取map集合中找对应的值
System.out.print(pooker.get(key)+" ");
}
System.out.println();
}