import javafx.beans.binding.ListExpression;
import java.util.*;
public class demo5 {
/*
5.扑克牌
实现要求:
1、用一个String[]数组存点数
2、用一个String[]数组存花色
3、用一个String[]数组存大王、小王
4、用上面的数组,生成一副扑克牌
5、遍历显示全副扑克牌
6、模拟给4个人随机发牌,每个人11张牌
7、显示每个人的牌和剩余的牌
*/
public static void main(String[] args) {
String[] DE={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
String[] HS={"方片","梅花","红桃","黑桃"};
String[] DXW={"大王","小王"};
ArrayList<String> Park= new ArrayList<>();
//花色进行循环
for(int n=0;n<HS.length;n++){
//在进行大小循环
for(int k=0;k<DE.length;k++) {
Park.add(HS[n] + DE[k]);
}
}
Park.add(DXW[0]);
Park.add(DXW[1]);
System.out.println(Park);
//将Park打乱放入新数组中
Random rando=new Random();
Iterator<String> it = Park.iterator();
List<String> NewPark= new ArrayList<>();
List<String> play1= new ArrayList<>();
List<String> play2 = new ArrayList<>();
List<String> play3 = new ArrayList<>();
List<String> DZ = new ArrayList<>();//地主
List<String> SY = new ArrayList<>();//剩余的牌数
//迭代器Iterator遍历
//遍历集合 将list中的元素打乱放入list1中;
while (it.hasNext()) {
//while (it.hasNext())遍历是否有有元素
//list.size是list集合的长度;
for (int i = 0; i < Park.size(); i++) {
int t = (int) (Math.random() * Park.size());
//list1.indexOf指向t元素在list1集合中的位置
if (NewPark.indexOf(Park.get(t)) == -1) {
NewPark.add(Park.get(t));
Park.remove(t);
} else {
i = i - 1;
}
}
}
System.out.println(NewPark);
//分为四人
//每人13张地主15
//普通人13张牌
for(int i=0;i<54;i++){
if(i<11){
play1.add(NewPark.get(i));
}
if(i>=11&&i<22){
play2.add(NewPark.get(i));
}
if(i>=22&&i<33){
play3.add(NewPark.get(i));
}
if(i>=33&&i<44){
DZ.add(NewPark.get(i));
}
if(i>=44&&i<54){
SY.add(NewPark.get(i));
}
}
System.out.println("玩家一:"+play1+"\n"+"玩家二:"+play2+"\n"+"玩家三:"+play3+"\n"+"地主:"+ DZ+"\n"+"剩余牌数:"+SY);
}
}