01、准备牌
1.创建ArrayList集合对象pokers,代表牌盒,存储54张牌,泛型 String
2.创建2个ArrayList集合对象colors和nums,存储花色和数字
3.向花色集合colors中存储花色
4.向数字集合nums中存储数字
5.循环嵌套遍历花色集合和数字集合
6.产生一张扑克,存储牌盒pokers中
7.添加小王和大王
8.打印
02、洗牌
java.util.Collections工具类,静态方法:
public static void shuffle(List list) : 打乱方法参数List接口的实现类对象中的元素顺序
03、发牌
1.创建4个ArrayList集合对象,分别用来存储3个文件的扑克和底牌的扑克
2.因为要根据每张扑克索引发牌,所以只能使用普通for+get(索引),遍历存储54张扑克的ArrayList集合对象
3.获取当前扑克
4.因为要留出3张底牌,所以判断索引是否>50: 留作底牌
5.因为要留出3张底牌,所以判断索引是否
04、看牌
直接打印
05、实战源码
public class PokerGame {
public static void main(String[] args) {
//一: 准备牌
//1.创建ArrayList集合对象pokers,代表牌盒,存储54张牌,泛型 String
ArrayList pokers = new ArrayList();
//2.创建2个ArrayList集合对象colors和nums,存储花色和数字
ArrayList colors = new ArrayList();
ArrayList nums = new ArrayList();
//3.向花色集合colors中存储花色
colors.add("");
colors.add("");
colors.add("");
colors.add("");
//4.向数字集合nums中存储数字: 2-10,J,Q,K,A
for(int i = 2;i
nums.add(i+"");
}
nums.add("J");
nums.add("Q");
nums.add("K");
nums.add("A");
//5.循环嵌套遍历花色集合和数字集合
for (String num : nums) {
for (String color : colors) {
//6.产生一张扑克
String poker = color + num;
//存储牌盒pokers中
pokers.add(poker);
}
}
//7.添加小王和大王
pokers.add("小王");
pokers.add("大王");
//8.打印
//System.out.println(pokers);
/*
二: 洗牌(打乱54张扑克的顺序)
java.util.Collections工具类,静态方法:
public static void shuffle(List list) : 打乱方法参数List接口的实现类对象中的元素顺序
*/
Collections.shuffle(pokers);
//System.out.println(pokers);
//三: 发牌
//1.创建4个ArrayList集合对象,分别用来存储3个文件的扑克和底牌的扑克
ArrayList p1 = new ArrayList();
ArrayList p2 = new ArrayList();
ArrayList p3 = new ArrayList();
ArrayList bottom = new ArrayList();
//2.因为要根据每张扑克索引发牌,所以只能使用普通for+get(索引),遍历存储54张扑克的ArrayList集合对象
for(int i = 0;i
//3.获取当前扑克
String poker = pokers.get(i);
if(i>50) {
//4.因为要留出3张底牌,所以判断索引是否>50: 留作底牌
bottom.add(poker);
} else {
//5.因为要留出3张底牌,所以判断索引是否
if(i%3==0) {
//发给玩家一
p1.add(poker);
} else if(i%3==1) {
//发给玩家二
p2.add(poker);
} else {
//发给玩家三
p3.add(poker);
}
}
}
//看牌
System.out.println("宝强: "+p1);
System.out.println("金莲: "+p2);
System.out.println("门庆: "+p3);
System.out.println("底牌: "+bottom);
领取专属 10元无门槛券
私享最新 技术干货