斗地主练习(按照斗地主的规则,完成洗牌发牌的动作。)

按照斗地主的规则,完成洗牌发牌的动作。
具体规则:

  • 使用54张牌;

  • 打乱顺序;

  • 三个玩家参与游戏,三人交替摸牌,每人17张牌,最后三张留作底牌;

  • 手中的牌按从小到大的顺序排列

    import java.util.ArrayList;
     import java.util.Collections;
     import java.util.LinkedHashMap;
     import java.util.Map;
    
    public class Doudizhu {
     public static void main(String[] args){
         //1.创建编号和牌对应的map集合,编号越大牌越大
         Map map = new LinkedHashMap();
         //2.创建牌的编号对应的ArrayList集合
         ArrayList arraylist = new ArrayList();
         //3.向Map,ArrayList中添加数据
           //编号
         int id = 1;
           //花色和数值
         String[] colors={"♠️","♥️","♣️","♦️"};
         String[] numbers={"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
           //生成牌
         for (String num:numbers
              ) {
             for (String color:colors
                  ) {
                 String card = color+num;
                 map.put(id,card);
                 arraylist.add(id);
                 id++;
             }
         }
         map.put(id,"小王");
         arraylist.add(id);
         id++;
         map.put(id,"大王");
         arraylist.add(id);
    
     //4.洗牌
     Collections.shuffle(arraylist);
    
     //5.发牌
     ArrayList person1Id = new ArrayList();
     ArrayList person2Id = new ArrayList();
     ArrayList person3Id = new ArrayList();
     ArrayList remaining = new ArrayList();
      //给三个玩家轮流发牌
     for (int i=0;i person1Card = new ArrayList();
     ArrayList person2Card = new ArrayList();
     ArrayList person3Card = new ArrayList();
     //7.看牌
     //根据牌的编号从Map集合中获取他的牌
     for (int i:person1Id
          ) {
         String value = map.get(i);
         person1Card.add(value);
     }
     for (int i:person2Id
             ) {
         String value = map.get(i);
         person2Card.add(value);
     }
     for (int i:person3Id
             ) {
         String value = map.get(i);
         person3Card.add(value);
     }
     System.out.println(person1Card);
     System.out.println(person2Card);
     System.out.println(person3Card);
     }
    }
    

结果为:在这里插入图片描述

你可能感兴趣的:(练习)