模拟斗地主代码升级版:玩家的牌整理好,对玩家的牌进行排序
代码如下:
package MONI_ddz;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.TreeSet;
public class ddzPlus {
public static void main(String[] args) {
HashMap<Integer, String> hm = new HashMap<Integer, String>();
ArrayList<Integer> al = new ArrayList<Integer>();
String[] s1 = {"♥", "♠", "♣", "♦"};
String[] s2 = {"3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "2"};
int index = 0;
for (String a : s2) {
for (String b : s1) {
hm.put(index, a + b);
al.add(index);
index++;
}
}
hm.put(index, "大王");
al.add(index);
index++;
hm.put(index, "小王");
al.add(index);
Collections.shuffle(al);
TreeSet<Integer> wj1 = new TreeSet<Integer>();
TreeSet<Integer> wj2 = new TreeSet<Integer>();
TreeSet<Integer> wj3 = new TreeSet<Integer>();
TreeSet<Integer> dipai = new TreeSet<Integer>();
for (int a = 0; a < al.size(); a++) {
int i = al.get(a);
if (a >= al.size() - 3) {
dipai.add(i);
} else if (a % 3 == 0) {
wj1.add(i);
} else if (a % 3 == 1) {
wj2.add(i);
} else{
wj3.add(i);
}
}
lookpoker("玩家一:", wj1, hm);
lookpoker("玩家二:", wj2, hm);
lookpoker("玩家三:", wj3, hm);
lookpoker("底牌:", dipai, hm);
}
public static void lookpoker(String name, TreeSet<Integer> ts, HashMap<Integer, String> hm) {
System.out.print(name);
for (Integer s : ts) {
String s1 = hm.get(s);
System.out.print(s1 + " ");
}
System.out.println();
}
}
输出结果:
玩家一:♥3 ♠3 ♣3 ♥4 ♠4 ♥5 ♠6 ♣7 ♣8 ♠9 ♣J ♣Q ♦Q ♠K ♣K 大王 小王
玩家二:♣4 ♦4 ♠5 ♦5 ♥7 ♦7 ♥8 ♠8 ♦8 ♣9 ♠10 ♣10 ♠J ♠Q ♥K ♥A ♦2
玩家三:♦3 ♣5 ♥6 ♣6 ♦6 ♠7 ♥9 ♥10 ♦10 ♥J ♦J ♦K ♣A ♦A ♥2 ♠2 ♣2
底牌:♦9 ♥Q ♠A