模仿斗地主发牌

本文介绍了一个使用Java实现的斗地主发牌程序。通过创建一副标准扑克牌,并利用集合进行洗牌和发牌操作,模拟了斗地主游戏中发牌的过程。最终输出每个玩家的手牌及底牌。
  • 模仿斗地主发牌
package bull.Landlord;

import java.util.*; 


/*
 * 模拟斗地主发牌
 */
public class LandlordDemo1 {
    public static void main(String[] args) {
        //整一副牌
        String[] color = {"黑桃","红桃","方块","梅花"};
        String[] num = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
        //创建对象
        ArrayList<String> array = new ArrayList<String>();

        for(int i = 0;i < color.length;i++) {
            for(int j = 0;j < num.length;j++) {
                array.add(color[i]+num[j]);
            }
        }
        array.add("大王");
        array.add("小王");
        //System.out.println(array);

        //洗牌
        Collections.shuffle(array);
        //System.out.println(array);

        //创建牌友集合
        ArrayList<String> 澳门赌神 = new ArrayList<String>();
        ArrayList<String> 新加坡赌神 = new ArrayList<String>();
        ArrayList<String> 拉斯维加斯赌神 = new ArrayList<String>();

        //发牌
        for(int x = 0;x < array.size()-3;x++) {
            if(x%3 == 0) {
                澳门赌神.add(array.get(x));
            }
            else if(x%3 == 1) {
                新加坡赌神.add(array.get(x));
            }
            else if(x%3 == 2) {
                拉斯维加斯赌神.add(array.get(x));
            }
        }
        System.out.println("澳门赌神:"+澳门赌神);
        System.out.println("新加坡赌神:"+新加坡赌神);
        System.out.println("拉斯维加斯赌神:"+拉斯维加斯赌神);
        //底牌
        System.out.println("底牌:");
        for(int x = array.size()-3;x < array.size();x++) {
            System.out.println(array.get(x));
        }
    }
}


结果: 
1.澳门赌神:[红桃A, 方块2, 方块Q, 梅花9, 红桃9, 黑桃7, 方块7, 红桃6, 黑桃8, 黑桃10, 方块J, 红桃K, 梅花2, 梅花5, 方块K, 方块10, 黑桃A]
2.新加坡赌神:[红桃10, 黑桃9, 梅花4, 黑桃J, 梅花J, 黑桃3, 黑桃K, 梅花A, 红桃5, 黑桃2, 梅花8, 黑桃4, 小王, 黑桃5, 梅花Q, 大王, 黑桃Q]
3.拉斯维加斯赌神:[梅花10, 方块8, 红桃4, 方块4, 黑桃6, 方块6, 红桃J, 梅花K, 红桃2, 红桃7, 红桃Q, 方块9, 梅花3, 梅花7, 方块3, 红桃8, 方块5]
*底牌:
方块A
红桃3
梅花6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值