package com.itheima;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.TreeSet;
哈哈,这样发牌冯佳老师会不会气疯了???赌神也该疯了!!!
public class Poker {
public static void main(String[] args) {
// 建立Poker存入HashMap 中 key 序号 value 牌
// 洗牌 用suffle
// 用for循环发牌 %3 分配
// 建立四个treeset
// 建立看牌方法 分别调用
String[] num = { "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q",
"K", "A", "2" };
String[] color = { "方片", "梅花", "红桃", "黑桃" };
int index = 0;
ArrayList<Integer> a = new ArrayList<>();
HashMap<Integer, String> hm = new HashMap<>();
for (int i = 0; i < num.length; i++) {
for (int j = 0; j < color.length; j++) {
hm.put(index, color[j] + num[i]);
a.add(index++);
}
}
hm.put(52, "小王");
a.add(52);
hm.put(53, "大王");
a.add(53);
Collections.shuffle(a);
TreeSet<Integer> gaojin = new TreeSet<>();
TreeSet<Integer> fengjia = new TreeSet<>();
TreeSet<Integer> me = new TreeSet<>();
TreeSet<Integer> lastCard = new TreeSet<>();
for (int i = 0; i < 51; i++) {
if (i % 3 == 0) {
gaojin.add(a.get(i));
continue;
}
if (i % 3 == 1) {
fengjia.add(a.get(i));
continue;
}
if (i % 3 == 2) {
me.add(a.get(i));
continue;
}
}
lastCard.add(a.get(51));
lastCard.add(a.get(52));
lastCard.add(a.get(53));
int ii = 7;
hei(fengjia, me,ii);
// hei(gaojin, me,ii);
// hei(lastCard, me,ii);
show(gaojin, hm, "高进");
show(fengjia, hm, "冯佳");
show(me, hm, "本人");
show(lastCard, hm, "底牌");
}
private static void hei(TreeSet<Integer> beihei, TreeSet<Integer> heiren , int ii) {
for (int i = 0; i < ii; i++) {
int max = Collections.max(beihei);
beihei.remove(max);
heiren.add(max);
int min = Collections.min(heiren);
heiren.remove(min);
beihei.add(min);
}
}
private static void show(TreeSet<Integer> p, HashMap<Integer, String> hm,
String name) {
System.out.print(name + ":");
for (Integer i : p) {
System.out.print(" " + hm.get(i));
}
System.out.println();
}
}
/*
高进: 方片3 方片4 梅花4 方片5 梅花5 梅花6 红桃6 方片7 梅花7 方片8 梅花8 方片10 黑桃10 方片J 红桃J 梅花K 梅花A
冯佳: 梅花3 红桃3 黑桃3 红桃4 黑桃4 黑桃5 方片6 黑桃6 红桃7 黑桃7 红桃8 黑桃8 方片9 梅花9 红桃9 黑桃9 梅花Q
本人: 梅花10 红桃10 梅花J 黑桃J 方片Q 黑桃Q 方片K 红桃K 黑桃K 红桃A 黑桃A 方片2 梅花2 红桃2 黑桃2 小王 大王
底牌: 红桃5 红桃Q 方片A
*/ |
|