package com.itheima1;
import java.util.ArrayList;
import java.util.Collections;
/*
* 斗地主
* ♠♥♦♣
* ☺☻
*
* 准备牌ArrayList<String>
* 花色集合 ♠♥♦♣
* 数字集合2-10 AJQK
* 加入大小王
*
* 洗牌 将ArrayList牌打乱元素顺序
* Collections类的静态方法
* public static void shuffle(List<?> list) 将集合内容打乱顺序
*
* 发牌 将牌依次发给三个玩家,每个玩家都是一个ArrayList<String>,最后留3张放到底牌的ArrayList<String>中
* 看牌 直接打印三个玩家集合和底牌
*
*/
public class Poker {
public static void main(String[] args) {
// 思路:
// 1:买排
// 2:洗牌
// 3:发牌
// 4:看牌
//1:买牌
//创建四个ArrayList集合,存放♠♥♦♣ 3-10 J,Q,K,A,2 还有大小王
//创建poker集合
ArrayList<String> pokers = new ArrayList<>();
//花色集合
ArrayList<String> list1 = new ArrayList<String>();
list1.add("♠");
list1.add("♥");
list1.add("♦");
list1.add("♣");
//创建存放3-10的集合,以及JQKA2
ArrayList<String> number = new ArrayList<>();
for (int i = 3; i <= 10; i++) {
number.add(i + "");
}
number.add("J");
number.add("Q");
number.add("K");
number.add("A");
number.add("2");
//创建除大小王外的扑克牌
for (int i = 0; i < number.size(); i++) {
String a = number.get(i);
for (int j = 0; j < list1.size(); j++) {
String poker = a + list1.get(j);
pokers.add(poker);
}
}
pokers.add("☺");
pokers.add("☻");
// System.out.println(pokers);
// System.out.println(pokers.size());
// 2:洗牌
// 思路:shuffle
Collections.shuffle(pokers); //collections是操作单列集合的工具类,里面包含有shuffle()方法 shuffle就是洗牌的意思
// System.out.println(pokers); //coleection是单列集合的顶层接口,里面定义了整个单列集合体系的共性内容
//3:发牌
//思路:
// 第一个人 0 3 i%3==0
// 第二个人 1 4 i%3==1
// 第三个人 2 5 i%3==2
// 底牌: 53,52,51
ArrayList<String> Person1 = new ArrayList<>();
ArrayList<String> Person2 = new ArrayList<>();
ArrayList<String> Person3 = new ArrayList<>();
ArrayList<String> diPai = new ArrayList<>();
/* for (int i = 0; i < pokers.size(); i++) {
if(i > 50) {
String diPai = pokers.get(i);
}
if(i%3==0) {
String Person1 = pokers.get(i);
}else if(i%3==1) {
String Person2 = pokers.get(i);
}else {
String Person3 = pokers.get(i);
}
}*/
//优化后
for (int i = 0; i < pokers.size(); i++) {
String pokerCard = pokers.get(i);
if(i > 50) {
diPai.add(pokerCard);
}else if(i%3==0) {
Person1.add(pokerCard);
}else if(i%3==1) {
Person2.add(pokerCard);
}else {
Person3.add(pokerCard);
}
}
//看牌
//思路:
// 打印
System.out.println(Person1);
System.out.println(Person2);
System.out.println(Person3);
System.out.println(diPai);
}
}
|