java--实现简单斗地主

/**
	 * 模拟实现斗地主发牌过程的实现步骤
	 * 1.准备一副扑克牌
	 * 	a.定义一个ArrayList集合用来存放54张扑克
	 * 	b.定义一个String类型的数组用来构建花色[♠,♥,♦,♣]
	 * 	c.定义一个String类型的数组用来保存扑克牌具体的值[3,4,5,6,7,8,9,10,J,Q,K,A,2]
	 * 	d.把大小王添加到ArrayList集合中
	 * 
	 * 2.洗牌
	 * 	通过集合的一个操作类Collections提供的一个相关方法(shuffle)实现洗牌的操作
	 * 	(Collections是类,Collection是接口)
	 * 
	 * 3.发牌的过程
	 * 	a.定义三个玩家和一个接收底盘的容器
	 * 	b.遍历ArrayList集合中,如何实现每个玩家轮流拿牌
	 * 	  当下标大于等于51,剩下的这三张牌是底牌
	 * 	  三个人可以使用下标对3求余	0%3=0 分给玩家1,1%3=1 分给玩家2,2%3=2 分给玩家3
	 * 
	 * 4.看牌
	 * 	所有人明牌
	 * 
	 *
	 */

	 public static void main(String[] args) {
     
		
		//1.准备一副扑克牌
		List<String> poker = new ArrayList<String>();
		
		String[] colors = {
     "♠","♥","♦","♣"};
		String[] values = {
     "3","4","5","6","7","8","9","10","J","Q","K","A","2"};
		
		for(int i=0; i<colors.length; i++){
     
			for(int j=0; j<values.length; j++){
     
				poker.add(colors[i]+values[j]);
			}
		}
		
		poker.add("大王");
		poker.add("小王");
		
		//扑克牌准备就绪
//		for(String l : poker){
     
//			System.out.println(l);
//		}
		
		//2.洗牌
		Collections.shuffle(poker);
		
		//洗牌完毕
//		for(String l : poker){
     
//			System.out.println(l);
//		}
		
		//3.发牌
		List<String> play01 = new ArrayList<String>();//玩家一
		List<String> play02 = new ArrayList<String>();//玩家二
		List<String> play03 = new ArrayList<String>();//玩家三
		List<String> dipai = new ArrayList<String>();//底牌
		
		for(int i=0; i<poker.size(); i++){
     
			if(i>=51){
     
				dipai.add(poker.get(i));
			}
			else if(i%3 == 0){
     
				play01.add(poker.get(i));
			}
			else if(i%3 == 1){
     
				play02.add(poker.get(i));
			}
			else if(i%3 == 2){
     
				play03.add(poker.get(i));
			}
		}
		
		//全体明牌
		System.out.println("玩家一:");
		for(String p01 : play01){
     
			System.out.print(p01+" ");
		}
		System.out.println("\n"+"玩家二:");
		for(String p02 : play02){
     
			System.out.print(p02+" ");
		}
		System.out.println("\n"+"玩家三:");
		for(String p03 : play03){
     
			System.out.print(p03+" ");
		}
		
		System.out.println("\n"+"底牌:");
		for(String dp : dipai){
     
			System.out.print(dp+" ");
		}
		
		//叫地主了(玩家一是地主)
		play01.addAll(dipai);
		System.out.println("\n"+"玩家一叫地主了:");
		for(String p01 : play01){
     
			System.out.print(p01+" ");
		}
		
	}

}

你可能感兴趣的:(#,Java,java--实现简单斗地主)