买牌: 用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("]");
}
}