package Case;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
/**
* 斗地主发牌
* 完成洗牌 发牌 排顺序 逻辑
*/
public class Case5 {
public static List<Card1> allCard= new ArrayList<>();//定义集合
static {
String[] sizes = {"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
String[] colors = {"♥","♠","♦","♣"};
int index = 0;
for (String size : sizes) {
index++;
for (String color : colors) {
Card1 c = new Card1(size,color,index);
allCard.add(c);
}
}
Card1 c1 = new Card1("","🃏",++index);
Card1 c2 = new Card1("","🤡",++index);
Collections.addAll(allCard,c1,c2);
// System.out.println(allCard);
}
public static void main(String[] args) {
//洗牌
Collections.shuffle(allCard);
// System.out.println(allCard);
//发牌
List<Card1> n1 = new ArrayList<>();
List<Card1> n2 = new ArrayList<>();
List<Card1> n3 = new ArrayList<>();
for (int i = 0; i < allCard.size()-3; i++) {
Card1 c = allCard.get(i);
switch(i%3){
case 0:
n1.add(c);
break;
case 1:
n2.add(c);
break;
case 2:
n3.add(c);
break;
}
}
//截取最后三张牌
List<Card1> last = allCard.subList(allCard.size()-3,allCard.size());
System.out.println("地主牌:"+last);
//排序
sortcard(n1);
sortcard(n2);
sortcard(n3);
//输出
System.out.println("n1:"+n1);
System.out.println("n2:"+n2);
System.out.println("n3:"+n3);
}
private static void sortcard(List<Card1> cards) {
// Collections.sort(cards, new Comparator<Card1>() {
// @Override
// public int compare(Card1 o1, Card1 o2) {
// return o2.getIndexr() - o1.getIndexr();
// }
// });
Collections.sort(cards,(o1, o2) -> Integer.compare(o2.getIndexr(), o1.getIndexr()) );
}
}
java case5 day9 斗地主发牌
最新推荐文章于 2024-07-10 21:37:49 发布