斗地主源码
package sqn;
import java.util.*;
public class DouDiZhu {
private static <E> void swap(List<E> list,int index1,int index2) {
//数组元素交换位置
E e=list.get(index1);
list.set(index1, list.get(index2));
list.set(index2, e);
}
//纸牌有序化
private static ArrayList<String> paixu(ArrayList<String> x){
ArrayList<Integer> a=new ArrayList<>();
int f=-1;
for (int i = 0; i < x.size(); i++) {
if(x.get(i).equals("🃏"))
f=172;
else if(x.get(i).equals("🃏"))
f=171;
else {
if (x.get(i).substring(1).equals("A"))
f = 140;
else if (x.get(i).substring(1).equals("2"))
f = 150;
else if (x.get(i).substring(1).equals("J"))
f = 110;
else if (x.get(i).substring(1).equals("Q"))
f = 120;
else if (x.get(i).substring(1).equals("K"))
f = 130;
else f= Integer.parseInt(x.get(i).substring(1)) * 10;
if(x.get(i).substring(0,1).equals("♥")){
f+=4;
}else if(x.get(i).substring(0,1).equals("♦")){
f+=3;
}else if(x.get(i).substring(0,1).equals("♠")){
f+=2;
}else if(x.get(i).substring(0,1).equals("♣")){
f+=1;
}
}
a.add(f);
}
for (int i = x.size(); i > 1; i--) {
for (int j = 0; j < i-1; j++) {
if(a.get(j) < a.get(j+1)){
swap(a,j,j+1);
swap(x,j,j+1);
}
}
}
return x;
}
public static void main(String[] args){
//新建54张牌 洗牌 留三张底牌 发牌
List<String> pokes=new ArrayList<>();
List<String> colors=new ArrayList<>();
List<String> numbers=new ArrayList<>();
colors.add("♥");
colors.add("♦");
colors.add("♣");
colors.add("♠");
for(int i=2;i<=10;i++){
numbers.add(i+"");
}
numbers.add("A");
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);*/
//洗牌
Collections.shuffle(pokes);
/* System.out.println(pokes);*/
//发牌
ArrayList<String> xiaomianbao=new ArrayList<>();
ArrayList<String> jingtongxue=new ArrayList<>();
ArrayList<String> hualili=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){
xiaomianbao.add(pai);
}else if (i%3==1){
jingtongxue.add(pai);
}else{
hualili.add(pai);
}
}
/*Collections.sort(xiaomianbao);
Collections.sort(jingtongxue);
Collections.sort(hualili);
Collections.sort(dipai);*/
}
dipai=paixu(dipai);
jingtongxue=paixu(jingtongxue);
hualili=paixu(hualili);
xiaomianbao=paixu(xiaomianbao);
System.out.println(dipai);
System.out.println(xiaomianbao);
System.out.println(jingtongxue);
System.out.println(hualili);
}
}
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/01ad59fa79874e41c1fb0470e438c4a1.png)