zoukankan      html  css  js  c++  java
  • 实现斗地主洗牌、发牌、看牌

    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.HashMap;
    import java.util.List;
    
    public class FightAgainstLandlord {
        public static void main(String[] args) {
            //准备牌
            HashMap<Integer, String> poker = new HashMap<>();
            ArrayList<Integer> pokerIndex = new ArrayList<>();
            List<String> colors = List.of("♠", "♥", "♣", "♦");
            List<String> numbers = List.of("2", "A", "K", "Q", "J", "10", "9", "8", "7", "6", "5", "4", "3");
            int index=0;
            pokerIndex.add(index);
            poker.put(index,"大王");
            index++;
            pokerIndex.add(index);
            poker.put(index,"小王");
            index++;
            for(String n:numbers){
                for(String c:colors){
                    pokerIndex.add(index);
                    poker.put(index,c+n);
                    index++;
                }
            }
            System.out.print(poker);
            System.out.println();
    
            //洗牌
            Collections.shuffle(pokerIndex);
            System.out.println(pokerIndex);
    
            //发牌
            ArrayList<Integer> player01=new ArrayList<>();
            ArrayList<Integer> player02=new ArrayList<>();
            ArrayList<Integer> player03=new ArrayList<>();
            ArrayList<Integer> diPai=new ArrayList<>();
            for(int i=0;i<pokerIndex.size();i++){
                if(i>=51){
                    diPai.add(pokerIndex.get(i));
                }else if(i%3==0){
                    player01.add(pokerIndex.get(i));
                }else if(i%3==1){
                    player02.add(pokerIndex.get(i));
                }else if(i%3==2){
                    player03.add(pokerIndex.get(i));
                }
            }
            Collections.sort(player01);
            Collections.sort(player02);
            Collections.sort(player03);
            Collections.sort(diPai);
    
            /*
            System.out.println(diPai);
            System.out.println(player01);
            System.out.println(player02);
            System.out.println(player03);
    
             */
    
            //看牌
            lookPoker("player01",poker,player01);
            lookPoker("player02",poker,player02);
            lookPoker("player03",poker,player03);
            lookPoker("diPai",poker,diPai);
    
        }
        public static void lookPoker(String name,HashMap<Integer,String> poker, ArrayList<Integer> list){
            System.out.println(name+":");
            for(Integer k:list){
                String v=poker.get(k);
                System.out.print(v+" ");
            }
            System.out.println();
        }
    
    }
  • 相关阅读:
    PowerShell尝试ssh登录
    PowerShell收发TCP消息包
    powershell对指定IP进行端口扫描
    PowerShell尝试登录ftp
    PowerShell批量扫描IP和端口
    《PowerShell 3.0 Advanced Admin handbook》已于今日上市
    PowerShell尝试登录SQL Server
    Docker 数据卷
    Dockerfile自定义镜像
    Docker 容器操作
  • 原文地址:https://www.cnblogs.com/reyinever/p/11116857.html
Copyright © 2011-2022 走看看