/*模拟打升级发两幅扑克,四个玩家.每人27张牌. 按照花色分类排序,
* 例如:
[大王, 黑桃K, 黑桃K, 黑桃Q, 黑桃7, 黑桃5, 黑桃3, 黑桃2, 红桃J,
红桃9, 红桃7, 红桃2, 梅花A, 梅花Q, 梅花J, 梅花10, 梅花8, 梅花5,
梅花4, 梅花3, 梅花2, 方片A, 方片A, 方片J, 方片7, 方片4, 方片3]
*/
public class Test {
public static void main(String[] args) {
//1.盒子
HashMap<Integer, String> pkmap =new HashMap<Integer, String>();
ArrayList<Integer> pknum=new ArrayList<Integer>();
//2.造牌
zp(pkmap,pknum);
//3.洗牌
Collections.shuffle(pknum);
//4.发牌
fp(pkmap,pknum);
}
private static void zp(HashMap<Integer, String> pkmap,ArrayList<Integer> pknum) {
//花色,数字
ArrayList<String> color = new ArrayList<String>();
ArrayList<String> num = new ArrayList<String>();
Collections.addAll(color, "♠", "♥", "♣", "♦");
Collections.addAll(num, "2","2","A","A","K","K","Q","Q","J","J","10","10","9","9","8","8","7","7","6","6","5","5","4","4","3","3");
pkmap.put(0, "大王"); pknum.add(0);
pkmap.put(1, "小王"); pknum.add(1);
pkmap.put(2, "大王"); pknum.add(2);
pkmap.put(3, "小王"); pknum.add(3);
int index=4;
for (String c: color) {
for (String n : num) {
pkmap.put(index,c+n); pknum.add(index);
index++;
}
}
}
private static void fp(HashMap<Integer, String> pkmap,ArrayList<Integer> pknum) {
//玩家,底牌
ArrayList<Integer> w1=new ArrayList<Integer>();
ArrayList<Integer> w2=new ArrayList<Integer>();
ArrayList<Integer> w3=new ArrayList<Integer>();
ArrayList<Integer> w4=new ArrayList<Integer>();
ArrayList<Integer> dp=new ArrayList<Integer>();
for(int i=0;i<pknum.size();i++){
if(i>=100){
dp.add(pknum.get(i));
}else if (i%4==0){
w1.add(pknum.get(i));
}else if (i%4==1){
w2.add(pknum.get(i));
}else if (i%4==2){
w3.add(pknum.get(i));
}else if (i%4==3){
w4.add(pknum.get(i));
}
}
//排序
Collections.sort(w1);
Collections.sort(w2);
Collections.sort(w3);
Collections.sort(w4);
Collections.sort(dp);
look("刘备",w1,pkmap);
look("关羽",w2,pkmap);
look("张飞",w3,pkmap);
look("曹操",w4,pkmap);
look("底牌",dp,pkmap);
}
private static void look(String name, ArrayList<Integer> w,HashMap<Integer, String> pkmap) {
System.out.print(name+": ");
for (Integer k : w) {
String v = pkmap.get(k);
System.out.print(v+" ");
}
System.out.println( );
}
}
|
|