斗地主洗牌发牌排序的实现
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class DouDiZhu {
public static void main(String[] args) {
List<String> pokes=new ArrayList<>();
List<String> colors=new ArrayList<>();
List<String> numbers=new ArrayList<>();
colors.add("♥");
colors.add("♠");
colors.add("◆");
colors.add("♣");
numbers.add("A");
for (int i=2;i<10;i++){
numbers.add(i+"");
}
numbers.add("J");
numbers.add("Q");
numbers.add("K");
for (String c:colors) {
for (String n:numbers){
String pai=c+n;
pokes.add(pai);
}
}
pokes.add("大王");
pokes.add("小王");
System.out.println("牌库"+pokes);
// 2.洗牌
Collections.shuffle(pokes);
System.out.println("洗牌"+pokes);
// 3.留3张底牌
// 4.发牌
ArrayList<String> zhangsan=new ArrayList<>();
ArrayList<String> lisi=new ArrayList<>();
ArrayList<String> wangwu=new ArrayList<>();
ArrayList<String> dipai=new ArrayList<>();
for (int i = 0; i <pokes.size() ; i++) {
String pai=pokes.get(i);
if (i>=51){
dipai.add(pai);
}else {
if (i%3==0){
zhangsan.add(pai);
}else if(i%3==1){
lisi.add(pai);
}else {
wangwu.add(pai);
}
}
}
System.out.println("底牌"+dipai);
System.out.println("张三"+zhangsan);
System.out.println("李四"+lisi);
System.out.println("王五"+wangwu);
Collections.sort(zhangsan);
Collections.sort(lisi);
Collections.sort(wangwu);
System.out.println("\n排序后:");
System.out.println("张三"+zhangsan);
System.out.println("李四"+lisi);
System.out.println("王五"+wangwu);
}
}