黑马程序员技术交流社区

标题: 哈哈,这样发牌冯佳老师会不会气疯了???赌神也该疯了 [打印本页]

作者: jauliun    时间: 2015-12-27 19:57
标题: 哈哈,这样发牌冯佳老师会不会气疯了???赌神也该疯了
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
*/
作者: hi丶bo    时间: 2015-12-27 20:28
++++++++++++++++++++++++++++
作者: shiax11    时间: 2015-12-27 21:01
...........................................
作者: anythingOK    时间: 2015-12-27 21:43
够狠!!!
作者: 路路路路灯亮了    时间: 2015-12-27 21:51
66666666666666666666666666666
作者: zhuyapeng    时间: 2015-12-27 21:56
看不懂  百度`````
作者: 我有一个邮箱了    时间: 2015-12-27 22:16
很厉害的样子
作者: 鳌少宝    时间: 2015-12-27 22:23
哈哈,代码太长了,不错
作者: mcl0415    时间: 2015-12-27 23:05
冯佳不水论坛 啊
作者: xueyuhunshang    时间: 2015-12-28 00:31

作者: 1158147908    时间: 2015-12-28 07:05
我发牌竟然忘了加大小王,,,怪不得感觉前两张




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2