集合扑克牌斗地主案例

import java.util.ArrayList;;

public class Demo01 {
public static void main(String[] args) {
ArrayList list = new ArrayList();
// 把扑克牌写入二维数组里面
String[][] arr = {
{ “红桃A”, “红桃2”, “红桃3”, “红桃4”, “红桃5”, “红桃6”, “红桃7”, “红桃8”, “红桃9”, “红桃10”, “红桃J”, “红桃Q”, “红桃K” },
{ “黑桃A”, “黑桃2”, “黑桃3”, “黑桃4”, “黑桃5”, “黑桃6”, “黑桃7”, “黑桃8”, “黑桃9”, “黑桃10”, “黑桃J”, “黑桃Q”, “黑桃K” },
{ “方片A”, “方片2”, “方片3”, “方片4”, “方片5”, “方片6”, “方片7”, “方片8”, “方片9”, “方片10”, “方片J”, “方片Q”, “方片K” },
{ “草花A”, “草花2”, “草花3”, “草花4”, “草花5”, “草花6”, “草花7”, “草花8”, “草花9”, “草花10”, “草花J”, “草花Q”, “草花K” },
{ “大王”, “小王” } };

	// 遍历数组,把每个元素添加到集合里
	for (int i = 0; i < arr.length; i++) {
		for (int j = 0; j < arr[i].length; j++) {

			list.add(arr[i][j]);

		}
	}

	// 统计总共多少个扑克牌
	System.out.println("总共" + list.size());
	// a,b,c代表三个人,每人17张牌,创建集合接收
	ArrayList a = new ArrayList();
	ArrayList b = new ArrayList();
	ArrayList c = new ArrayList();
	// temp,temp1,temp2 代表常量,每次取出一张牌时要把这个牌从集合里删掉,这样避免重复
	int temp = 0;
	for (int i = 0; i < 17; i++) {
		int d = (int) (Math.random() * (54 - temp) + 1);
		// list.get(d-1);
		// 把得到的数添加到集合,下面都一样,注意数字变化54,34,20,
		a.add(list.get(d - 1));
		list.remove(d - 1);
		temp++;
	}
	for (Object object : a) {
		System.out.print(object + ",");
	}
	System.out.println();

	int temp1 = 0;
	for (int i = 0; i < 17; i++) {
		int e = (int) (Math.random() * (37 - temp1) + 1);
		b.add(list.get(e - 1));
		list.remove(e - 1);
		temp1++;
	}
	for (Object object : b) {
		System.out.print(object + ",");
	}
	System.out.println();
	int temp2 = 0;
	for (int i = 0; i < 17; i++) {
		int f = (int) (Math.random() * (20 - temp2) + 1);
		c.add(list.get(f - 1));
		list.remove(f - 1);
		temp2++;
	}
	for (Object object : c) {
		System.out.print(object + ",");
	}
	System.out.println();
	for (Object object : list) {
		System.out.print("底牌" + object + ",");

	}
}

}
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/zhu_yao/article/details/89458881
今日推荐