java实现斗地主发牌及自动排序

前言

暑期线上实训的第一节课。java相关内容的复习。

题目

用java实现斗地主发牌、按大小自动排序功能。
具体要求如下:

  1. 一副扑克牌最基本的54张牌,包括红桃、黑桃、方片、梅花四种花色的A、2、3、4、5、6、7、8、9、10、J、Q、K以及大王与小王;
  2. 斗地主模式 ,包含大小王在内的54张牌,去掉三张底牌后平均分发给三名玩家;
  3. 要求展示生成后打乱的扑克序列;
  4. 要求展示三个人的手牌及底牌;

生成扑克

新建数组

        //数组1放所有的牌
        List<String> pokes = new ArrayList<>();
        //数组2放花色
        List<String> colors = new ArrayList<>();
        //数组3放数字
        List<String> numbers = new ArrayList<>();

添加花色和各种数值

        //添加四种花色
        colors.add("♥");
        colors.add("♠");
        colors.add("♦");
        colors.add("♣");

        //添加A2345678910JQK
        numbers.add("A");
        for(int i=2;i<=10;i++){
   
            numbers.add(i+"");
        }
        numbers.add("J");
        numbers.add("Q");
        numbers.add("K");
        for(String c:colors){
   
            for(String n:numbers){
   
                String pai=c+n;
                pokes.add(pai);
            }
        }
        //添加大王和小王
        pokes.add("大王");
        pokes.add("小王");
        System.out.println("有序的整副扑克"+pokes);
        //洗牌
        Collections.shuffle(pokes);
        System.out.println("打乱的整副扑克"+pokes);

发牌功能

        //留下3张底牌的同时完成发牌
        ArrayList<String> player1=new ArrayList<>();
        ArrayList<String> player2=new ArrayList<>();
        ArrayList<String> player3=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){
   
                    player1.add(pai);
                }else if(i%3==1){
   
                    player2.add(pai);
                }else{
   
                    player3.add(pai);
                }
            }
        }

排序功能

元素交换位置

    private static <E> void swap(List<E> list,int index1,int index2) {
   
        E e=list.get(index1);
        list.set
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值