A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 崔宁 中级黑马   /  2015-12-27 00:01  /  548 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/**
* 模仿洗牌发牌
* @author LENOVO
*
*/
public class Demo7 {

        public static void main(String[] args) {
       
                //定义Poker
                String[] str = {"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
                String[] color = {"红桃","黑桃","梅花","方块"};
               
                //一副新牌
                HashMap<Integer, String> map = new HashMap<>();
                //每张牌的索引存放
                ArrayList<Integer> list = new ArrayList<>();
                //Integer索引
                int index = 0;
               
               
                for (String s : str) {
                        for (String c : color) {
                                map.put(index,c.concat(s));
                                list.add(index);
                                index++;
                        }
                }
                map.put(index, "小王");
                list.add(index);
                index++;
                map.put(index, "大王");
                list.add(index);        //添加索引到List中
               
                //洗牌
                Collections.shuffle(list);
                //System.out.println(list);
               

                //玩家
                TreeSet<Integer> one = new TreeSet<>();
                TreeSet<Integer> two = new TreeSet<>();
                TreeSet<Integer> three = new TreeSet<>();
                //底牌
                TreeSet<Integer> end = new TreeSet<>();
               
                //发牌
                for (int i = 0; i < list.size(); i++) {
                        if(i >= list.size()-3) {
                                end.add(list.get(i));
                        }else if (i % 3 == 0) {
                                one.add(list.get(i));
                        }else if (i % 3 == 1) {
                                two.add(list.get(i));
                        }else {
                                three.add(list.get(i));
                        }
                }
                /*System.out.println(one);
                System.out.println(two);
                System.out.println(three);
                System.out.println(end);*/
                lookPoker(one, map, "李蒙蒙");
                lookPoker(two, map, "崔宁");
                lookPoker(three, map, "张三");
                lookPoker(end, map, "底牌");
               
                /*
                //洗牌   打乱索引
                Collections.shuffle(list);
                System.out.println(list);
               
                //底牌
                ArrayList<String> end = new ArrayList<>();
                for (int i = 0; i < list.size(); i++) {
                        if(i >= list.size()-3) {
                                end.add(list.get(i));
                        }else if (i % 3 == 0) {
                                one.add(list.get(i));
                        }else if (i % 3 == 1) {
                                two.add(list.get(i));
                        }else {
                                three.add(list.get(i));
                        }
                }
                System.out.println(one);
                System.out.println(two);
                System.out.println(three);
                System.out.println(end);*/
        }
       
        public static void lookPoker(TreeSet<Integer> set,HashMap<Integer, String> map,String name) {
                System.out.print(name + ":");
                for (Integer integer : set) {
                        System.out.print(map.get(integer) + " ");
                }
                System.out.println();
        }
}

评分

参与人数 1黑马币 +12 收起 理由
雨来 + 12 赞一个!

查看全部评分

2 个回复

倒序浏览
再加一个转字字符"\t"这样感觉就清新了
回复 使用道具 举报
MRguo 来自手机 中级黑马 2015-12-27 22:06:10
藤椅
路过,哭过,你懂的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马