import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
/*
* 实现斗地主功能
* 1.组合牌
* 2.洗牌
* 3.发牌
* 4.看牌
*/
public class DouDiZhu {
public static void main(String[] args) {
//1.组合牌
HashMap<Integer, String> pooker=new HashMap<Integer, String>();
ArrayList<Integer> pookerNumber=new ArrayList<Integer>();
String[] numbers={"2","A","K","Q","J","10","9","8","7","6","5","4","3"};
String[] colors={"桃花","红桃","梅花","方块"};
int index=2;
for (String number : numbers) {
for (String color : colors) {
pooker.put(index, color+number);
pookerNumber.add(index);
index++;
}
}
pooker.put(0, "大王");
pookerNumber.add(0);
pooker.put(1, "小王");
pookerNumber.add(1);
//洗牌,将牌的编号打乱
Collections.shuffle(pookerNumber);
//发牌,将牌的编号发给玩家集合和底牌集合
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 < pookerNumber.size(); i++) {
//先做好底牌
if (i<3) {
bottom.add(pookerNumber.get(i));
}
//对索引%3判断
if (i%3==0) {
player1.add(pookerNumber.get(i));
}else if (i%3==1) {
player2.add(pookerNumber.get(i));
}else if (i%3==2) {
player3.add(pookerNumber.get(i));
}
}
//看牌,将玩家手中的编号到Map集合中查找,根据键找值
Collections.sort(player1);
Collections.sort(player2);
Collections.sort(player3);
//定义方法实现
look("玩家1",player1, pooker);
look("玩家2",player2, pooker);
look("玩家3",player3, pooker);
look("底牌",bottom, pooker);
}
public static void look(String name,ArrayList<Integer> player,HashMap<Integer, String> poker){
//遍历ArrayList集合
System.out.print(name+" ");
for (Integer key : player) {
String value=poker.get(key);
System.out.print(value+" ");
}
System.out.println();
}
}