JavaSE基础利用集合完成斗地主综合案例
/*
* 1.组合牌
* 2.洗牌
* 3.发牌
* 4.看牌
*/
import java.util.ArrayList;
import java.util.Collections;
public class DouDiZhu {
public static void main(String[] args) {
//1.建立一个poker集合,用来装牌
ArrayList<String> poker = new ArrayList<String>();
//先添加大王和小王
poker.add("大王");
poker.add("小王");
//在建立两个数组来分别装4种花色和13个牌的序号
String[] colors = {"♠","♥","♣","♦"};
String[] numbers = {"2","A","K","Q","J","10","9","8","7","6","5","4","3"};
//利用4种花色和牌的序号来组装一副牌
for(int i = 0;i<colors.length;i++) {
for(int j=0;j<numbers.length;j++) {
poker.add(colors[i]+numbers[j]);
}
}
//2.洗牌,利用Collection工具类的public Static void shuttle()方法来洗牌
Collections.shuffle(poker);
//3.发牌,一共要建立四个集合,分别是三个玩家,各17张牌,最后3张是底牌
ArrayList<String> player01 = new ArrayList<String>();
ArrayList<String> player02 = new ArrayList<String>();
ArrayList<String> player03 = new ArrayList<String>();
ArrayList<String> diPai = new ArrayList<String>();
for(int i=0;i<poker.size();i++) {
if(i>=51) {
diPai.add(poker.get(i));
}else if(i%3==0) player01.add(poker.get(i));
else if(i%3==1) player02.add(poker.get(i));
else if(i%3==2) player03.add(poker.get(i));
}
//4.看牌
System.out.println("周润发:"+player01);
System.out.println("周星驰:"+player02);
System.out.println("黄积极:"+player03);
System.out.println("底牌"+diPai);
}
}