用Java中的集合模拟一个斗地主洗牌发牌的小游戏

买牌: 用Arrylist集合储存,for循环便利实现,

洗牌:用 Collections.shuffle(arryBox);刷新集合中的顺序,

发牌:用for循环遍历Arrylist中51张牌,然后用索引值对3 取余,余数为0,1,2然后来随机分配牌。

package com.company;

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

/**
 * 模拟斗地主发牌
 *
 * 买牌
 * 洗牌
 * 发牌
 */
public class Main {
    public static void main(String[] args) {
        //买牌
        String[] arr1 = {"黑桃","红桃","方片","梅花"};
        String[] arr2 = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
        List<String> arryBox = new ArrayList<>();
        for (int i = 0; i < arr1.length; i++) {
            for (int j = 0;j < arr2.length; j++){
                arryBox.add(arr1[i]+arr2[j]);
            }
        }
        arryBox.add("大王");
        arryBox.add("小王");
        List<String> 刘岩 = new ArrayList<>();
        List<String> 冰冰 = new ArrayList<>();
        List<String> 井空 = new ArrayList<>();
        //洗牌
        Collections.shuffle(arryBox);
        //发牌
        for (int i = 0; i < arryBox.size()-3; i++) {
            if (i%3==0){
                刘岩.add(arryBox.get(i));
            }else if (i%3==1){
                冰冰.add(arryBox.get(i));
            }else if (i%3==2){
                井空.add(arryBox.get(i));
            }
        }
        System.out.println("刘岩"+" "+刘岩);
        System.out.println("冰冰"+" "+冰冰);
        System.out.println("井空"+" "+井空);
        System.out.print("底牌: [");
        for (int i = 1; i < 4; i ++){
            System.out.print(arryBox.get(arryBox.size()-i)+",");
        }
        System.out.print("]");
    }
}

猜你喜欢

转载自blog.csdn.net/qq_37870901/article/details/81674156