package lz.day05.demo05;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Random;
//斗地主案例
public class DemoDoDiZhu {
public static void main(String[] args) {
//准备牌
ArrayList pukepai = new ArrayList<>();
pukepai.add(“大王”);
pukepai.add(“小王”);
String[] colors = {“♠”,“♥”,“♣”,“♦”};
String[] brands = {“2”,“A”,“K”,“Q”,“J”,“10”,“9”,“8”,“7”,“6”,“5”,“4”,“3”};
//组合牌
for (String color : colors) {
for (String brand : brands) {
pukepai.add(color + brand);
}
}
//洗牌:shuffle(List<?> list, Random rnd) 使用指定的随机源对指定列表进行置换
Collections.shuffle(pukepai);
//发牌:定义四个集合存储玩家的牌和底牌
ArrayList<String> players1 = new ArrayList<>();
ArrayList<String> players2 = new ArrayList<>();
ArrayList<String> players3 = new ArrayList<>();
ArrayList<String> dipai = new ArrayList<>();
//使用for循环给玩家发牌
for (int i = 0; i < pukepai.size(); i++) {
String pai = pukepai.get(i);
if (i >= 51) {
dipai.add(pai);
} else if (i % 3 == 0) {
players1.add(pai);
} else if (i % 3 == 1) {
players2.add(pai);
} else if (i % 3 == 2) {
players3.add(pai);
}
}
//随机一个地主
Random rd = new Random();
int dizhu = rd.nextInt(3) + 1;
for (int j = 0; j < dipai.size(); j++) {
String di = dipai.get(j);
if (dizhu == 1){
players1.add(di);
}else if (dizhu == 2){
players2.add(di);
}else if (dizhu == 3){
players3.add(di);
}
}
System.out.println("刘德华:" + players1);
System.out.println("周润发:" + players2);
System.out.println("周星驰:" + players3);
System.out.println("底牌:" + dipai);
}
}