java实现斗地主发牌,发三个人牌,并留出三张底牌

方法1:

package com.oracle.pc;

import java.util.ArrayList;
import java.util.Collections;

public class FaPai
{

	public static void main(String[] args)
	{
		// 获取牌
		ArrayList pai = getPai();
		// 洗牌
		Collections.shuffle(pai);
		// 发牌
		ArrayList user1 = new ArrayList<>();
		ArrayList user2 = new ArrayList<>();
		ArrayList user3 = new ArrayList<>();

		ArrayList diapi = fapai(pai, user1, user2, user3);

		// 看牌

		System.out.println("user1" + user1);
		System.out.println("user2" + user2);
		System.out.println("user3" + user3);

		System.out.println(diapi);

	}

	// 发三个人牌
	public static ArrayList fapai(ArrayList pai, ArrayList user1, ArrayList user2,
			ArrayList user3)
	{
		ArrayList dipai = new ArrayList<>();
		for (int i = 0; i < 51; i++)
		{
			String s = pai.get(i);
			if (i % 3 == 0)
			{
				user1.add(s);
			}
			else if (i % 3 == 1)
			{
				user2.add(s);
			}
			else
			{
				user3.add(s);
			}
		}
		// 返回底牌集合

		dipai.add(pai.get(51));
		dipai.add(pai.get(52));
		dipai.add(pai.get(53));
		return dipai;
	}

	// 模拟出所有牌面值 存放到集合中
	public static ArrayList getPai()
	{
		// 定义牌面值集合
		ArrayList list = new ArrayList();
		// 定义花色
		ArrayList huase = new ArrayList();
		huase.add("黑桃");
		huase.add("红桃");
		huase.add("梅花");
		huase.add("方块");
		// 定义字面值
		ArrayList zimianvalue = new ArrayList();
		for (int i = 2; i <= 10; i++)
		{
			zimianvalue.add(i + "");
		}
		zimianvalue.add("J");
		zimianvalue.add("Q");
		zimianvalue.add("K");
		zimianvalue.add("A");
		// 花色和字面值纠缠
		for (String s : zimianvalue)
		{
			for (String ss : huase)
			{
				list.add(ss + s);
			}
		}

		list.add("大王");
		list.add("小王");
		return list;
	}
}

运行结果:
在这里插入图片描述
方法2:
创建一个card属性类

package com.oracal.core;

public class Card
{
	//点数
    private  int num;
    //花色
    private  String color;
    //名称
    private String  name;
    
	public int getNum()
	{
		return num;
	}
	public void setNum(int num)
	{
		this.num = num;
	}
	public String getColor()
	{
		return color;
	}
	public void setColor(String color)
	{
		this.color = color;
	}
	public String getName()
	{
		return name;
	}
	public void setName(String name)
	{
		this.name = name;
	}
	public Card(int num, String color, String name)
	{
		super();
		this.num = num;
		this.color = color;
		this.name = name;
	}
	public Card()
	{
		super();
		// TODO Auto-generated constructor stub
	}
    
    
    
    
}

再创建一个CardStudy类

package com.oracal.core;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Random;



public class CardStudy
{
	public static  void shuffle()
	{
		List cardList=new ArrayList(); //
		//准备一副牌
		String[] colors={"红桃","黑桃","梅花","方片"};
		String [] nums={"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
		for(int i=0;i

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

你可能感兴趣的:(java练习)