代码段:
package MONI_ddz;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
public class ddz_1plus {
public static void main(String[] args) {
//创建牌盒
ArrayList<String> al = new ArrayList<String>();
//装牌
//创建牌型
String[] s1 = {"♥","♠","♣","♦"};
String[] s2 = {"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
for(String a:s1){
for(String b:s2){
al.add(a + b);
}
}
al.add("大王");
al.add("小王");
//洗牌
Collections.shuffle(al);
//创建三个玩家和底牌集合
Set<String> w1 = new HashSet<String>();
Set<String> w2 = new HashSet<String>();
Set<String> w3 = new HashSet<String>();
Set<String> w4 = new HashSet<String>();
//发牌
for (int x = 0;x<al.size();x++) {
//获取每一张牌
String s = al.get(x);
//如果是最后三张牌就添加到底牌集合中
if(x>=al.size()-3){
w4.add(s);
//用索引对3取余等于0,1,2的方式按顺序发牌,X%3==2可以省略不写
}else if(x%3==0){
w1.add(s);
}else if(x%3==1){
w2.add(s);
}else {
w3.add(s);
}
}
//看玩家的牌
lookpoker("w1" , w1);
lookpoker("w2" , w2);
lookpoker("w3" , w3);
//看底牌
lookpoker("w4" , w4);
}
//创建看牌方法
public static void lookpoker(String name,Set<String> s){
System.out.println(name +"的牌是:");
for(String a: s){
System.out.print(a + " ");
}
System.out.println();
}
}
洗牌使用了集合元素随机排序的方法,所以每次输出的结果不相同
输出结果:
w1的牌是:
♥Q ♦4 ♣Q ♥3 ♣2 ♠J 大王 ♥9 ♣8 ♠7 ♦6 ♦7 ♠2 ♦9 ♠3 ♣A ♠9
w2的牌是:
♦J ♣J ♦2 ♣K ♠4 ♠5 ♠6 ♣9 ♥5 ♥6 ♠Q ♦10 ♥7 ♥8 小王 ♥A ♠8
w3的牌是:
♥J ♦K ♥K ♦3 ♥2 ♦5 ♥4 ♦Q ♠K ♣7 ♣10 ♥10 ♣3 ♣4 ♦8 ♣5 ♦A
w4的牌是:
♠A ♣6 ♠10