花色
package com.san.paypal.utils;
/**
* create by shushi on 2020/01/20 17:57
*/
public enum PokerFlowerColorEnum {
HONGTAO(1,"红桃"),
MEIHUA(2,"梅花"),
FANGKUAI(3,"方块"),
HEITAO(4,"黑桃"),
DAWANG(5,"大王"),
XIAOWANG(6,"小王");
private Integer code;
private String value;
PokerFlowerColorEnum(Integer code,String value){
this.code = code;
this.value = value;
}
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
牌
package com.san.paypal.utils;
import java.util.Random;
public class Poker {
private static String[] basePokerNum = {"2", "3", "4", "5", "6", "7", "8", "9", "10", "J",
"Q", "K", "A"}; //牌面
private static Integer pokerCount = 52; //除去大小王的张数
private static Boolean needBoss = true; //是否需要大小王
public static String[] getPoker(){
String[] s = null;
if(needBoss){
int bossCount = pokerCount / 52 * 2;
pokerCount = pokerCount + bossCount;
s = new String[pokerCount];
for (int i = 1 ; i < bossCount; i++){
s[pokerCount - i ] = PokerFlowerColorEnum.DAWANG.getValue();
s[pokerCount - i - 1 ] = PokerFlowerColorEnum.XIAOWANG.getValue();
}
}else {
s = new String[pokerCount];
}
for (int i = 0; i <= 12; i++) {
s[i] = PokerFlowerColorEnum.HONGTAO.getValue().concat(basePokerNum[i]);
s[i + 13] = PokerFlowerColorEnum.MEIHUA.getValue().concat(basePokerNum[i]);
s[i + 26] = PokerFlowerColorEnum.FANGKUAI.getValue().concat(basePokerNum[i]);
s[i + 39] = PokerFlowerColorEnum.HEITAO.getValue().concat(basePokerNum[i]);
}
return s;
}
public static void mixPoker(String[] ss) {
for (int j = 0; j <= 1000; j++) {
for (int i = 0; i < ss.length; i++) {
int a = new Random().nextInt(52);
String temp = null;
temp = ss[i];
ss[i] = ss[a];
ss[a] = temp;
}
}
}
public static void main(String[] args) {
String[] pokers = getPoker();
System.out.println("===================展示牌面===================");
for (String s : pokers) {
System.out.println(s);
}
System.out.println("===================开始洗牌===================");
mixPoker(pokers);
System.out.println("===================结束洗牌===================");
for (String s : pokers) {
System.out.println(s);
}
}
}