Collections斗地主案例

package com.zhangxueliang.doudizhu;

import java.util.ArrayList;
import java.util.Collections;

public class Doudizhu {
    public static void main(String[] args) {
        /**
         * 1.组装54张扑克牌
         * 2.将54张牌顺序打乱
         * 3.安排三个玩家参与游戏,三个人交替摸牌,每人17张牌,最后3张留作底牌
         * 4.查看三人各自手中的牌、底牌
         */
        //买牌
        String[] arr = {"黑桃","红桃","方块","梅花"};
        String[] arr2 = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
        ArrayList<String> box = new ArrayList<>();
        //添加每张牌
        for(int i=0;i<arr.length;i++){
            //获取每一个花色
            for(int j=0;j<arr2.length;j++){
                //获取每一个点数
                box.add(arr[i]+arr2[j]);
            }
        }
        box.add("大王");
        box.add("小王");
//        System.out.println(box.size());
        //洗牌
        Collections.shuffle(box);
        //发牌
        ArrayList<String> 周润发 =new ArrayList<String>();
        ArrayList<String> 刘德华 =new ArrayList<String>();
        ArrayList<String> 梁朝伟 =new ArrayList<String>();
        //留3张底牌给地主
        for(int i=0;i<box.size()-3;i++){
            if(i%3==0){
                周润发.add(box.get(i));
            }else if(i%3==1){
                刘德华.add(box.get(i));
            }else if(i%3==2){
                梁朝伟.add(box.get(i));
            }
        }
//        System.out.println("周润发:"+周润发);
//        System.out.println("刘德华:"+刘德华);
//        System.out.println("梁朝伟:"+梁朝伟);
        for(int i=0;i<box.size()-3;i++){
            System.out.println(box.get(i));
        }
    }
}
原文地址:https://www.cnblogs.com/niwotaxuexiba/p/10067553.html