斗地主案例

本文介绍了一种基于Java的斗地主游戏发牌算法实现。通过使用ArrayList存储牌,利用Collections.shuffle进行洗牌,并将牌分配给三位玩家及底牌。此算法确保了发牌过程的公平性和随机性。
摘要由CSDN通过智能技术生成

思路分析:
在这里插入图片描述
代码:

package demo01;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;

public class douDiZhu {
    public static void main(String[] args) {
        ArrayList<String> pai = new ArrayList<>();//存储牌
        String [] color = {"♠","♥","♣","♦"};//存储花色
        String [] number= {"2","A","K","Q","J","10","9","8","7","6","5","4","3"};//存储号码
        pai.add("大王");
        pai.add("小王");
        for (String s:color){//装牌
            for (String e:number){
                pai.add(s+e);
            }
        }
        System.out.println("未洗牌前:"+pai);
        //洗牌,利用工具类Collections
        Collections.shuffle(pai);//洗牌
        System.out.println("洗牌后:"+pai);
        ArrayList<String> palyer1 = new ArrayList<>();
        ArrayList<String> palyer2 = new ArrayList<>();
        ArrayList<String> palyer3 = new ArrayList<>();
        ArrayList<String> diPai = new ArrayList<>();

        for (int i = 0 ; i <pai.size(); i++){//发牌
            String poker = pai.get(i);
            if(i>=51){
                diPai.add(poker);
            }
            else if(i%3==0){
                palyer1.add(poker);
            }
            else if(i%3==1){
                palyer2.add(poker);
            }
            else if(i%3==2){
                palyer3.add(poker);
            }
        }
        System.out.println("周润发:"+palyer1);
        System.out.println("高进:"+palyer2);
        System.out.println("刘德华:"+palyer3);
        System.out.println("底牌:"+diPai);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值