扑克牌排序

前言
暑期项目实习第一课,JAVA实现斗地主简易发牌及有序理牌。
题目
需求:斗地主发牌,有序理牌
斗地主扑克介绍:一副扑克共54张牌,四种花色:“红桃”、“方块”、“黑桃”、“梅花”,每种花色共13张牌,分别为“3”、“4”、“5”、“6”、“7”、“8”、“9”、“10”、“J”、“Q”、“K”、“A”、“2”,除四种花色之外还有大鬼、小鬼2张牌,4种花色同数字相同大小,大小顺序为3<4<5<6<7<8<9<10<J<Q<K<A<2<小鬼<大鬼。
斗地主发牌规则:每人按顺序抓牌,共抓17张,留3张底牌。
效果
在这里插入图片描述

public static void main(String[] args) {
   
        List<String> pokes = new ArrayList<>();
        List<String> colors = new ArrayList<>();
        List<String> numbers = new ArrayList<>();

        colors.add("");
        colors.add("");
        colors.add("");
        colors.add("");

        for(int i = 2; i <= 10; i++){
   
            numbers.add(i+"");
        }
        numbers.add("J");
        numbers.add("Q");
        numbers.add("K");
        numbers.add("A");

        for(String c:colors){
   
            for(String n: numbers){
   
                String pai = c+n;
                pokes.add(pai);
            }
        }

        pokes.add("大鬼");
        pokes.add("小鬼");

        Collections.shuffle(pokes);

        ArrayList<String> people_1 = new ArrayList<>();
        ArrayList<String> people_2 = new ArrayList<>();
        ArrayList<String> people_3 = new ArrayList<>();
        ArrayList<String> dipai = new ArrayList<>();
        for (int i = 0; i<pokes.size(); i++){
   
            String pai = pokes.get(i);
            if(i >= 51){
   
                dipai.add(pai);
            }else {
   
                if(i%3 == 0)people_1.add(pai);
                else if (i%3 == 1)people_2.add(pai);
                else people_3.add(pai);
            }
        }


        System.out.println("随机生产总牌:");
        System.out.println(pokes);
        System.out.println("玩家1的牌(花色排序):");
        classification(people_1);
        System.out.println("玩家2的牌(花色排序):");
        classification(people_2);
        System.out.println("玩家3的牌(花色排序):");
        classification(people_3);
        System.out.println("玩家1的牌(大小排序):");
        arrangecards(people_1);
        System.out.println("玩家2的牌(大小排序):");
        arrangecards(people_2);
        System.out.println("玩家3的牌(大小排序):");
        arrangecards(people_3);
        System.out.println("底牌:");
        System.out.println(dipai);

    }
————————————————

public static void arrangecards(ArrayList<String> list){
   
        ArrayList<String> arrange = new ArrayList<>();

        for(int i=0;i<list.size();i++){
   
            if(list.get(i).substring(1,2).equals
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值