扑克

-一副扑克牌
* -洗牌三次
* -分牌(4个玩家)
* -整理牌
* -打印

public static void main(String[] args) {
String puke[] = {“1”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”,“10”,“J”,“Q”,“K”};
List poker = new ArrayList<>();
for(String str:puke)
{//1~10 J Q k
//红桃
poker.add(str+“❤”);//UTF-8
//黑桃
poker.add(str+"*");
//方块
poker.add(str+ “◇”);
//梅花
poker.add(str + “♣”);

	}
	poker.add("大王");
	poker.add("小王");
	//-洗牌三次
	for(int x = 0;x<3;x++)
	{
		Collections.shuffle(poker);
	}
	//分牌
	List<String> players[] = new List[4];
	for(int x=0;x<players.length;x++)
	{
		//初始化玩家
		players[x] = new ArrayList<>();
	}
	for(int x = 0;x<poker.size();x++)
	{
		players[x%4].add(poker.get(x));
	}
	//整理牌
	for(List<String> player: players)
	{
		Collections.sort(player,new Comparator<String>() {
			@Override
			public int compare(String o1, String o2) {
				char c1 = o1.charAt(0);
				char c2 = o2.charAt(0);
				if(c1=='Q'&&c2=='K'||c1=='K'&&c2=='Q')
				{//K Q-----Q K
					return -(c1-c2);
				
				}else
				{
					if(o1.length()==3)
					{
						c1='A';
					}
					if(o2.length()==3)
					{
						c2='A';
					}
					return c1-c2;
				}
				
				
			}
		});
	}
	//打印
	for(List<String> player: players)
	{
		for(String str : player)
		{
			System.out.print(str + "\t ");
		}
		System.out.println();
	}
	
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值