斗地主发牌Java实现
发牌的实现类
import java.util.ArrayList;
import java.util.List;
import static java.util.Collections.swap;
public class Brand {
public static ArrayList<String> sort(ArrayList<String> player) {
List<Integer> num1 = new ArrayList<>();
for (int i = 0; i < player.size(); i++) {
if (player.get( i ).substring( 1 ).equals( "J" )) {
num1.add( 11 );
} else if (player.get( i ).substring( 1 ).equals( "Q" )) {
num1.add( 12 );
} else if (player.get( i ).substring( 1 ).equals( "K" )) {
num1.add( 13 );
} else if (player.get( i ).substring( 1 ).equals( "A" )) {
num1.add( 14 );
} else if (player.get( i ).substring( 1 ).equals( "2" )) {
num1.add( 15 );
} else if (player.get( i ).equals( "小王" )) {
num1.add( 16 );
} else if (player.get( i ).equals( "大王" )) {
num1.add( 17 );
} else {
num1.add( Integer.parseInt( player.get( i ).substring( 1 ) ) );
}
}
for (int i = 0; i < player.size(); i++) {
for (int j = 0; j < player.size() - i - 1; j++) {
if (num1.get( j ) > num1.get( j + 1 )) {
swap( num1, j, j + 1 );
swap( player, j, j + 1 );
}
}
}
return player;
}
}
主类
import java.util.*;
public class pokertest {
public static void main(String[] args) {
List<String> pokes = new ArrayList<>();
List<String> color = new ArrayList<>();
List<String> number = new ArrayList<>();
color.add("♥");
color.add("♠");
color.add("♦");
color.add("♣");
for (int i = 2; i <= 10; i++) {
number.add(i + "");
}
number.add("A");
number.add("J");
number.add("Q");
number.add("K");
for (String c : color) {
for (String n : number) {
String pai = c + n;
pokes.add(pai);
}
}
pokes.add("大王");
pokes.add("小王");
/* System.out.println(pokes);*/
//随机排序
Collections.shuffle(pokes);
System.out.println(pokes);
//发牌
ArrayList<String> player1 = new ArrayList<>();
ArrayList<String> player2 = new ArrayList<>();
ArrayList<String> player3 = new ArrayList<>();
ArrayList<String> finalBrand = new ArrayList<>();
for (int i = 0; i < pokes.size(); i++) {
String pai = pokes.get(i);
if (i >= 51) {
finalBrand.add(pai);
} else if (i % 3 == 1) {
player1.add(pai);
} else if (i % 3 == 2) {
player2.add(pai);
} else {
player3.add(pai);
}
}
System.out.println("player1:" + player1);
System.out.println("player2:" + player2);
System.out.println("player3:" + player3);
System.out.println("finalBrand:" + finalBrand);
//按照大小排序
Brand.sort(player1);
Brand.sort(player2);
Brand.sort(player3);
Brand.sort(finalBrand);
System.out.println("player1:" + player1);
System.out.println("player2:" + player2);
System.out.println("player3:" + player3);
System.out.println("finalBrand:" + finalBrand);
}
}