java斗地主案例
//导包
import java.util.ArrayList;
//需要使用到util下的数组集合包,以及collections工具类
import java.util.Collections;
public class demo01 {
public static void main(String[] args) {
//创建一个String类型的集合,用来存放总的牌
ArrayList<String> poker = new ArrayList<>();
//定义一个数组,存放所有种类的牌
String[] numbers = {"2", "A", "K", "Q", "J", "10", "9", "8", "7", "6", "5", "4", "3"};
//定义一个数组,存放所有的花色
String[] colors = {"黑桃", "红桃", "方片", "梅花"};
// 因为大王和小王是特殊的,所以需要额外的添加进去
poker.add("大王");
poker.add("小王");
//使用增强for循环,双循环嵌套
//目的:使用字符串拼接的方法,把两个数组嵌套组合一下
for (String number : numbers) {
for (String color : colors) {
//把组合好的花色牌,使用add方法添加到poker里面
poker.add(color + number);
}
}
//创建四个数组,分别存放1,2,3玩家以及底牌
ArrayList<String> player1 = new ArrayList<>();
ArrayList<String> player2 = new ArrayList<>();
ArrayList<String> player3 = new ArrayList<>();
ArrayList<String> diPd = new ArrayList<>();
// System.out.println(poker.size()); 自己可以测试牌的个数
//根据索引判断牌是属于谁
//使用索引,因为一共有54张牌,所以索引是53
//先给底牌存储进去
for (int i = 0;i<poker.size();i++){
//使用数组的get方法,获取值
String p = poker.get(i);
//判断属于谁,然后使用add方法,添加进去
if (i>=51){
diPd.add(p);
}else if (i%3==0){
player1.add(p);
}else if (i%3==1){
player2.add(p);
}else {
player3.add(p);
}
}
System.out.println("玩家1"+player1);
System.out.println("玩家2"+player2);
System.out.println("玩家3"+player3);
System.out.println("底牌"+diPd);
}
}