使用Java中ArrayList实现斗地主发牌

实现步骤:
1、造牌
A、首先造扑克花色
B、生成J、Q、K、A特殊牌
C、讲花色和扑克进行拼接
2、创建三个玩家
3、洗牌
4、发牌
5、留三张底牌

 public class Demo1Poker {
	public static void main(String[] args) {
		//1、造牌	2、
		ArrayList<String> pokerBox=new ArrayList<>();
		ArrayList<String> colors=new ArrayList<>();
		ArrayList<String> numbers=new ArrayList<>();
		
		colors.add("♠");
		colors.add("♥");
		colors.add("♦");
		colors.add("♣");
		
		for(int i=2;i<=10;i++){
			numbers.add(i+"");
		}
		numbers.add("J");
		numbers.add("Q");
		numbers.add("K");
		numbers.add("A");
		
		//造牌 先拿花色,在拿牌面值,进行拼接
		for(String color:colors){
			for(String number:numbers){
				pokerBox.add(color+number);
			}
		}
		//已经造了52张牌
		pokerBox.add("小王");
		pokerBox.add("大王");
		
//		System.out.println(pokerBox);
		Collections.shuffle(pokerBox);
//		System.out.println(pokerBox);
		//创建玩家
		ArrayList<String> player1=new ArrayList<>();
		ArrayList<String> player2=new ArrayList<>();
		ArrayList<String> player3=new ArrayList<>();
		
		
		for(int i=0;i<pokerBox.size();i++){
			if(i>=pokerBox.size()-3){
				
			}else if(i%3==0){
				//玩家一的扑克
				player1.add(pokerBox.get(i));
			}else if(i%3==1){
				//玩家二的扑克
				player2.add(pokerBox.get(i));
			}else if(i%3==2){
				//玩家三的扑克
				player3.add(pokerBox.get(i));
			}
		}
		System.out.println("玩家1:"+player1.size()+"张牌,牌是:"+player1.toString());
		System.out.println("玩家2:"+player2.size()+"张牌,牌是:"+player2.toString());
		System.out.println("玩家3:"+player3.size()+"张牌,牌是:"+player3.toString());
		
		
	}
}

最后没有实现发到玩家手上的扑克,没有进行顺序排列。

结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值