斗地主(单列),使用ArrayList,只查看玩家和底牌,不能排序

/*1.准备牌:54张牌存储到一个集合中
         * 特殊派:大王,小王
         * 其他52张牌:
         * 定义一个集合,存储4种花色:♠,♥,♣,♦
         * 定义一个集合,存储13个序号:2,A,K,Q,J,10,9,8,7,6,5,4,3
         * 循环遍历嵌套2个集合,组装52张牌
         * ♠2,♠A,♠k,♠Q...♠3;
         * ♥2,♥A,♥K,♥Q...♥3;
         * ...
         * 2.洗牌
         * 使用Collections的shuffle方法,打乱顺序
         * 3.发牌
         * 一人17张牌,剩余3张作为底牌,一人一张轮流发牌
         * 集合的索引(0-53)%3
         * 定义4个集合,存储3个玩家的牌和底牌
         * 索引%2,有两个值(0,1)
         * 索引%3,有三个值(0,1,2)
         * 索引>=51,改底牌发牌
         * 4.看牌
         * 直接打印集合,遍历存储玩家和底牌的集合
         * 
         
         */
        
//        创建牌盒,存储所有牌
        ArrayList<String> pokerBox=new ArrayList<>();
//        创建花色集合,添加花色
        ArrayList<String> colors=new ArrayList<>();
        colors.add("♠");
        colors.add("♥");
        colors.add("♣");
        colors.add("♦");
//        创建数字集合,添加数字
        ArrayList<String> numbers=new ArrayList<>();
         for(int i=2;i<=10;i++) {
             numbers.add(i+"");
         }
         numbers.add("J");
         numbers.add("Q");
         numbers.add("K");
         numbers.add("A");
//      遍历花色和数字集合,组装牌,放到牌盒里   
         for(String color:colors) {
             for(String number:numbers) {
                 String card=color+number;
                 pokerBox.add(card);
             }
             
         }
         pokerBox.add("大王");
         pokerBox.add("小王");
//         洗牌
         Collections.shuffle(pokerBox);
//         创建3个玩家集合和底牌集合
         ArrayList<String> play1=new ArrayList<>();
         ArrayList<String> play2=new ArrayList<>();
         ArrayList<String> play3=new ArrayList<>();
         ArrayList<String> dipai=new ArrayList<>();
//        发牌
         for(int i=0;i<pokerBox.size();i++) {
             String card=pokerBox.get(i);
             if(i>=51) {
                 dipai.add(card);
             }else {
                 if(i%3==0) {
                     play1.add(card);
                 }else if(i%3==1) {
                     play2.add(card);
                 }else {
                     play3.add(card);
                 }
             }
         }
//         查看3个玩家和底牌
      
         System.out.println("玩家1"+play1);
         System.out.println("玩家2"+play2);
         System.out.println("玩家3"+play3);
         System.out.println("底牌"+dipai);
         

 

posted @ 2021-07-21 16:58  静静奇女子  阅读(68)  评论(0)    收藏  举报