扑克牌
斗地主手牌
代码实现:
//创建一副牌
ArrayList<String> list = new ArrayList<>();
String[] colors = {"♠","♥","♦","♣"}; //花色
String[] numbers = {"2","3","4","5","6","7","8","9","10","J","Q","K","A"}; //牌数字
//将牌添加到整幅牌中
for (int i = 0; i < colors.length; i++) {
for (int j = 0; j < numbers.length; j++) {
list.add(numbers[j]+colors[i]);
}
}
list.add("大王");
list.add("小王");
//创建玩家一
TreeSet<String> wanner1 = new TreeSet<>();
//创建玩家二
TreeSet<String> wanner2 = new TreeSet<>();
//创建玩家三
TreeSet<String> wanner3 = new TreeSet<>();
//创建剩余牌存储器
TreeSet<String> last = new TreeSet<>();
//打乱牌序
Collections.shuffle(list);
//添加手牌
for (int i = 0; i < list.size(); i++) {
if (i < (list.size() - 3) / 3){
wanner1.add(list.get(i)); //玩家一手牌
}else if (i < (list.size() - 3)/3*2){
wanner2.add(list.get(i)); //玩家二手牌
}else if (i<(list.size()-3)){
wanner3.add(list.get(i)); //玩家三手牌
}else {
last.add(list.get(i));
}
}
//查看手牌
lookPuKer("玩家一",wanner1);
lookPuKer("玩家二",wanner2);
lookPuKer("玩家三",wanner3);
lookPuKer("剩余牌",last);
}
//定义方法查看手牌
public static void lookPuKer(String name , TreeSet<String> set){
System.out.println(name + "的手牌是:");
Iterator iterator = set.iterator();
while (iterator.hasNext()){
System.out.print(iterator.next()+"\t");
}
System.out.println();
}
运行结果:
玩家一的手牌是:
2♣ 3♣ 4♣ 5♣ 5♥ 6♣ 6♥ 7♠ 7♦ 8♠ 8♣ 9♠ 9♣ 9♥ J♥ J♦ Q♣
玩家二的手牌是:
10♠ 10♦ 2♠ 2♦ 3♠ 3♥ 3♦ 4♠ 4♥ 4♦ 5♠ 6♠ 7♥ A♠ A♥ J♠ K♠
玩家三的手牌是:
10♣ 10♥ 2♥ 5♦ 6♦ 7♣ 8♥ 8♦ A♣ A♦ J♣ K♣ K♥ Q♠ Q♥ Q♦ 大王
剩余牌的手牌是:
9♦ K♦ 小王