import java.util.ArrayList;
import java.util.Collections;
public class DouDiZhu {
public static void main(String[] args) {
// 准备一个集合存储54张牌
ArrayList<String> arr54 = new ArrayList<>();
// 定义4种花色
String[] flower = {"♦", "♣", "♥", "♠"};
// 定义13个数
String[] arr13 = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};
// 双重for循环拼接数组 让其放置到集合中,最后再将大王小王放置在这个ArrayList集合中
for (String i : flower) {
for (String j : arr13) {
// 定义一个StringBuilder
StringBuilder str = new StringBuilder(i);
// 将对应的13个数据遍历填充到对应的StringBuilder缓冲中拼成一个字符串
str.append(j);
// 最后将字符串缓冲区转成对应的字符串,插入到集合中
arr54.add(str.toString());
}
}
// 大小王填充到对应的arr54张牌中
arr54.add("小王");
arr54.add("大王");
Collections.shuffle(arr54);
System.out.println(arr54);
// 定义四个数组 因为是54张牌,需要留下三张底牌,所以定义4个数组
ArrayList<String> a1 = new ArrayList<>();
ArrayList<String> a2 = new ArrayList<>();
ArrayList<String> a3 = new ArrayList<>();
ArrayList<String> a4 = new ArrayList<>();
for (int i = 0; i < 51; i++) {
if (i % 3 == 0) {
a1.add(arr54.get(i));
} else if (i % 3 == 1) {
a2.add(arr54.get(i));
} else if (i % 3 == 2) {
a3.add(arr54.get(i));
}
}
a4.add(arr54.get(51));
a4.add(arr54.get(52));
a4.add(arr54.get(53));
System.out.println("a1用户" + a1);
System.out.println("a2用户" + a2);
System.out.println("a3用户" + a3);
System.out.println("3张底牌" + a4);
}
}
JAVA 斗地主案例
最新推荐文章于 2024-07-06 11:28:20 发布
该博客展示了如何用Java编程实现斗地主游戏的洗牌和发牌过程。首先创建了一个ArrayList存储54张扑克牌,包括四种花色和十三个数字以及大小王。接着通过双重循环将所有牌组合并存入集合,然后使用Collections.shuffle打乱顺序。最后,将牌分为四份,模拟三人游戏和三张底牌,分别分配给三位玩家和作为底牌。
摘要由CSDN通过智能技术生成