JAVA 斗地主案例

该博客展示了如何用Java编程实现斗地主游戏的洗牌和发牌过程。首先创建了一个ArrayList存储54张扑克牌,包括四种花色和十三个数字以及大小王。接着通过双重循环将所有牌组合并存入集合,然后使用Collections.shuffle打乱顺序。最后,将牌分为四份,模拟三人游戏和三张底牌,分别分配给三位玩家和作为底牌。
摘要由CSDN通过智能技术生成
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);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

归来巨星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值