分析:
A:创建一个牌盒
B:装牌
C:洗牌
D:发牌
E:看牌
*/
public class test {
//写一个方法看牌
public static void lookup(String name,ArrayList<String> s){
System.out.print(name+"的牌是:");
for(String ss:s){
System.out.print(ss+" ");
}
System.out.println();
}
public static void main(String[] args) {
//创建一个牌盒
ArrayList<String> array=new ArrayList<String>();
//装牌
//黑桃A,...,黑桃K
//红桃A,...
//梅花A,...
//方块A,...
//定义一个花色数组
String[] colors={"♠","♥","♣","◆"};
//定义一个点数组
String[] numbers={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
for(String c:colors){
for(String n:numbers){
array.add(c.concat(n));
}
}
array.add("大王");
array.add("小王");
//洗牌
Collections.shuffle(array);
//发牌,斗地主是3个人
ArrayList<String> player1=new ArrayList<String>();
ArrayList<String> player2=new ArrayList<String>();
ArrayList<String> player3=new ArrayList<String>();
ArrayList<String> dipai=new ArrayList<String>();//需要留3张底牌
for(int x=0;x<array.size();x++){
if(x>=array.size()-3){
dipai.add(array.get(x));
}else if(x%3==0){
player1.add(array.get(x));
}else if(x%3==1){
player2.add(array.get(x));
}else if(x%3==2){
player3.add(array.get(x));
}
}
//看牌
lookup("张三",player1);
lookup("李四",player2);
lookup("王五",player3);
lookup("底牌",dipai);
}
}
结果:
张三的牌是:♣9 ♠J ♣10 ♥2 ♥7 ♣7 ♠10 ♣K ◆K ♥5 ◆2 ◆7 ◆J ♥J ◆4 ◆10 ♣3
李四的牌是:♥6 ♠Q ◆A ♣8 ♥10 ♠A ♠2 ♣4 ◆9 ♣Q ◆3 ◆8 ♥3 ♠4 ♥8 ♠K ♠9
王五的牌是:♠8 ◆6 ♥9 ♠3 ♥K ♠5 ♠6 大王 ◆Q ♥4 ♠7 ♣5 ♥Q ♣6 ♣A ♣2 ♣J
底牌的牌是:◆5 ♥A 小王