posts - 397,comments - 0,views - 25332

1.准备牌:54张牌,存储到一个集合中特殊牌:大王小王

其他52张牌:

定义一个数组/集合,存储4种花色:♥♠♣

定义一个数组/集合,存储13个序号:2,A,K....3

循环嵌套遍历两个数组/集合,组装52张牌:♠2♠A♠K♠3,♥2♥A♥K♥3

2.洗牌 
  使用集合工具类Collections的方法
  static void shuffle(List<?> list)使用指定的随机源对指定列表进行置换。
       会随机的打乱集台中元素的顺序

3.发牌:

要求:1人17张牌,剩余3张作为底牌,一人—张轮流发牌:集合的索引(O-53)%3

定义4个集合,存储3个玩家的牌和庭牌

索引%2,有两个值(0,1)0%62=O 19%2=1 2%2=O 39%2=1

索引%3,有三个值(0,1,2) 0%3=0 19%3=1 29%63=2 3%3=o

索引>=51改底牌发牌

4.看牌:

直接打印集合,遍历存储玩家和底牌的集合  

分析图:

 

 

案例的代码实现:

斗地主综合案例:

1.准备牌

2.洗牌

3.发牌

4.看牌

复制代码
ArrayList<String> list = new ArrayList<>();
        String[] colors = {"♠","♥","♣","♦"};
        String[] numbers = {"2","A","K","Q","J","10","9","8","7","6","5","4","3"};
        list.add("大王");
        list.add("小王");
        for (String number:numbers){
            for (String color: colors){
                //System.out.println(color+number);
                list.add(color+number);
            }
        }

        Collections.shuffle(list);
        ArrayList<String> list1 = new ArrayList<>();
        ArrayList<String> list2 = new ArrayList<>();
        ArrayList<String> list3 = new ArrayList<>();
        ArrayList<String> diPai = new ArrayList<>();

        for (int i = 0; i < list.size(); i++) {
            String s = list.get(i);
            if (i>=51){
                diPai.add(s);
            }else if (i%3==0){
                list1.add(s);
            }else if (i%3==1){
                list2.add(s);
            }else if (i%3==2){
                list3.add(s);
            }
        }
        System.out.println("刘德华"+list1);
        System.out.println("周星驰"+list2);
        System.out.println("发哥"+list3);
        System.out.println("达叔"+diPai);
    }
复制代码

 

posted on   淤泥不染  阅读(57)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示