public class PuKePai {
public static void main(String[] args) {
new Thread(() -> {
for (; ; ) {
Map<String, Object> builder = builder();
boolean isTongHuaShun = (boolean) builder.get("isTongHuaShun");
List<Integer> puKePaiList = (List<Integer>) builder.get("puKePai");
boolean flag = false;
in:
for (int i = 0; i < puKePaiList.size() - 1; i++) {
if (puKePaiList.get(i + 1) != puKePaiList.get(i) + 1) {
flag = true;
break in;
}
}
if (flag) {
} else if (isTongHuaShun) {
System.out.println(builder + "是同花顺");
} else {
System.out.println(builder + "是普通顺子");
}
}
}, "无限发牌").start();
}
public static Map<String, Object> builder() {
List<Integer> puKePaiList = new ArrayList<>(5);
Set<Integer> colorSet = new HashSet<>(16);
do {
Integer numberOfPuKe = (int) (Math.random() * 13 + 1);
colorSet.add((int) (Math.random() * 4 + 1));
if (!puKePaiList.contains(numberOfPuKe)) {
puKePaiList.add(numberOfPuKe);
} else if (puKePaiList.stream().filter(e -> e.equals(numberOfPuKe)).count() < 4) {
puKePaiList.add(numberOfPuKe);
}
} while (puKePaiList.size() <= 4);
Collections.sort(puKePaiList);
Map<String, Object> map = new HashMap<>(16);
map.put("isTongHuaShun", colorSet.size() == 1 ? true : false);
map.put("puKePai", puKePaiList);
return map;
}
}