java之斗地主

斗地主,瞎敲的

在这里插入代码片
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

public class fuckLandlord {
	public static void main(String[] args) {
		//准备花色
		ArrayList<String>colour=new ArrayList<String>();
		colour.add("黑桃");
		colour.add("红心");
		colour.add("梅花");
		colour.add("方块");
		//准备数字,加上A,J Q K;
		ArrayList<String>number=new ArrayList<String>();
		for(int i=3;i<=10;i++) {
			number.add(i+"");//数字当做String输入可以这样(i+"");
		}
		number.add("J");
		number.add("Q");
		number.add("K");
		number.add("A");
		number.add("2");//这里才加上2是为了保证玩家整理牌时2大与JQKA
		
		
		//数字加花色合成牌,加上两王;
		HashMap<Integer, String>map=new HashMap<Integer, String>();
		int index=0;
		for(String thisnumber:number) {
			for(String thiscolour:colour) {
				map.put(index++, thiscolour+thisnumber);
			}
		}
		map.put(index++, "小鬼");
		map.put(index++, "大鬼");
		//以数字代替牌,方便洗牌和玩家整理牌;
		ArrayList<Integer>card=new ArrayList<Integer>();
		for(int i=0;i<=53;i++) {
			card.add(i);
		}
		//Collections类中有可将数字集合打乱的方法
		Collections.shuffle(card);
		//美女荷官在线发牌
		ArrayList<Integer>iplay1=new ArrayList<Integer>();
		ArrayList<Integer>iplay2=new ArrayList<Integer>();
		ArrayList<Integer>iplay3=new ArrayList<Integer>();
		ArrayList<Integer>dipai=new ArrayList<Integer>();
		for(int i=0;i<54;i++) {
			if(i>=51)
				dipai.add(card.get(i));//三张牌当底牌
			if(i%3==0)
				iplay1.add(card.get(i));
			else if(i%3==1)
				iplay2.add(card.get(i));
			else
				iplay3.add(card.get(i));		
		}
		Collections.sort(iplay1);
		Collections.sort(iplay2);
		Collections.sort(iplay3);
		
		//以数字key提取value;
		
		ArrayList<String>play1=new ArrayList<String>();
		ArrayList<String>play2=new ArrayList<String>();
		ArrayList<String>play3=new ArrayList<String>();
		ArrayList<String>dipai2=new ArrayList<String>();
		for(Integer key:iplay1) {
			play1.add(map.get(key));
		}
		for(Integer key:iplay2) {
			play2.add(map.get(key));
		}
		for(Integer key:iplay3) {
			play3.add(map.get(key));
		}
		for(Integer key:dipai) {
			dipai2.add(map.get(key));
		}
		
		System.out.println(play1);
		System.out.println(play2);
		System.out.println(play3);
		System.out.println(dipai2);
	}
}

加了点注释

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值