Java小小斗地主(1)

本文详细介绍了如何使用Java编程实现斗地主游戏的发牌过程,包括创建牌组、洗牌、发牌到三位玩家以及查看牌面。通过循环和条件判断语句,确保每轮游戏公平地分配牌。这是一个简单的算法实践,适合初学者理解编程中的逻辑控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

空闲时间来一下斗地主🙄

目录

空闲时间来一下斗地主🙄

1.准备牌

2.洗牌

3.发牌

4.看牌


1.准备牌

创建一个Poker集合来存储54张牌

直接将大王和小王用add方法添加进集合中

将花色和数字先分别用两个字符串数组存储,再用for循环添加进集合中

        String[] colors = {"♠", "♥", "♣", "♦"};
        String[] numbers = {"A", "K", "Q", "J", "10", "9", "8", "7", "6", "5", "4", "3", "2"};
        for (String number : numbers) {
            for (String color : colors) {
                poker.add(color + number);
            }
        }

效果如下

2.洗牌

用Collections中的方法打乱集合中元素的排序

Collections.shuffle(poker);

每次运行元素排序都不一样,效果如图

3.发牌

斗地主需要三个玩家,可用三个集合来表示三位玩家。

一张一张地发完牌后牌,留下的三张牌用一个集合表示。

        ArrayList<String> player01=new ArrayList<>();
        ArrayList<String> player02=new ArrayList<>();
        ArrayList<String> player03=new ArrayList<>();
        ArrayList<String> diPai=new ArrayList<>();

如何分别一张张的将牌发给玩家呢?

一个整数除以三,余数有三种情况

0%3=0         1%3=1      2%3=2      3%3=0

所以我们可以用if语句分别将牌发给玩家

 for(int i=0;i<poker.size();i++){
            String p=poker.get(i);
            //轮流发牌
            //当i剩下三张的时候,将这三张牌添加进底牌的集合中
            if(i>=51){ diPai.add(p);}
            else if(i%3==1){
                player01.add(p);
            }
            else if(i%3==0){
                player02.add(p);
            }
            else if(i%3==2){
                player03.add(p);
            }
        }

4.看牌

分别输出集合,名字可以自己随便起的,可以自己试一下直接将赌神,赌圣,赌侠给凑齐😹

        System.out.println("A:"+player01);
        System.out.println("B:"+player02);
        System.out.println("C:"+player03);
        System.out.println("底牌:"+diPai);

效果如下

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值