利用Java写一个简单的斗地主

废话不多说,直接看代码!!

public class Demo2 {
    public static void main(String[] args) {
        //创建一个牌盒
        HashMap<Integer,String> map = new HashMap<>();
        //创建list集合 存放编号
        ArrayList<Integer> list = new ArrayList<>();
        //创建牌
        String [] numbers = {"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
        String [] colors = {"♦","♣","♥","♠"};
        int num = 0;
        for(String number :numbers){
        for (String color :colors){
            map.put(num,(color+number));
            list.add(num);
            num++;
        }
         }
        //添加大小王
        map.put(num,"大王");
        list.add(num);
        num++;
        map.put(num,"小王");
        list.add(num);
        Collections.shuffle(list);
        //发牌
        //创建四个玩家 使用treeset集合 因为有自然排序
        TreeSet<Integer> play1 = new TreeSet<>();
        TreeSet<Integer> play2 = new TreeSet<>();
        TreeSet<Integer> play3 = new TreeSet<>();
        TreeSet<Integer> dipai= new TreeSet<>();

        for (int x = 0;x<list.size();x++){
            Integer i = list.get(x);
            //获取最后三张牌的编号
            if (x>=list.size()-3){
                dipai.add(i);
            }else if (x % 3 ==0 ){
                play1.add(i);
            }else if (x % 3 ==1){
                play2.add(i);
            }else {
                play3.add(i);
            }
        }
        poker("泥板子",play1,map);
        poker("二愣子",play2,map);
        poker("头憋的",play3,map);
        poker("底牌",dipai,map);

        //看牌


    }
    public static void poker(String name,TreeSet<Integer> set ,HashMap<Integer,String> map  ){
        System.out.print(name+"的牌是:");
        //遍历treeset集合 获取编号
        for (Integer x :set){
            //通过编号x获取对应的牌
            String s1 = map.get(x);
            System.out.print(s1+"  ");
        }
        System.out.println();
    }
}

运行结果如下:

仅供娱乐。