实现的功能:洗牌、发牌、按顺利整理看牌。
没有面向对象思想,仅练习java集合。
public class Test {
public static void main(String[] args) {
/*
创建牌堆
创建玩家
洗牌
发牌
看牌
*/
//创建一副牌
String[] number = {"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
String[] icon = {"♦", "♣", "♥", "♠"};
HashMap<Integer, String> poke = new HashMap<>();
List<Integer> temp = new ArrayList<>();
int index = 0;//牌的序列
for (String n: number) {
for (String i: icon) {
poke.put(index, i + n);
temp.add(index);
index++;
}
}
poke.put(index, "小王");
temp.add(index);
index++;
poke.put(index, "大王");
temp.add(index);
// Set<Integer> integers = poke.keySet();
// for (Integer i: integers) {
// System.out.println(poke.get(i));
// }
// System.out.println(temp);
//创建三名玩家
TreeSet<Integer> John = new TreeSet<>();
TreeSet<Integer> Rose = new TreeSet<>();
TreeSet<Integer> Black = new TreeSet<>();
TreeSet<Integer> lastThreePoke = new TreeSet<>();
//洗牌
Collections.shuffle(temp);
//发牌
for (int i = 0; i < temp.size(); i++) {
int x = temp.get(i);
if (i >= temp.size() - 3) {
lastThreePoke.add(x);
} else if (i % 3 == 0) {
John.add(x);
} else if (i % 3 == 1) {
Rose.add(x);
} else {
Black.add(x);
}
}
// System.out.println(John);
// System.out.println(Rose);
// System.out.println(Black);
// System.out.println(lastThreePoke);
lookPoke("John的牌:", John, poke);
lookPoke("Rose的牌:", Rose, poke);
lookPoke("Black的牌:", Black, poke);
lookPoke("最后三张牌:", lastThreePoke, poke);
}
public static void lookPoke(String name, TreeSet<Integer> t, HashMap<Integer, String> poke) {
System.out.print(name + "的牌是:");
for (Integer i: t) {
System.out.print(poke.get(i) + " ");
}
System.out.println();
}
}