java集合之斗地主发牌游戏
代码
package com.js.Pai;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;public class CardDemo { public static List<Card> allCards=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){ Card c=new Card(size,color,index); allCards.add(c); } } Card c1=new Card("","👲",++index); Card c2=new Card("","🃏",++index); Collections.addAll(allCards,c1,c2); System.out.println("新牌:"+allCards); } public static void main(String[] args) { Collections.shuffle(allCards); System.out.println("洗牌后:"+allCards); List<Card> zhangsan=new ArrayList<>(); List<Card> lisi=new ArrayList<>(); List<Card> wangwu=new ArrayList<>(); for (int i = 0; i < allCards.size()-3; i++) { Card c= allCards.get(i); if (i%3==0){ zhangsan.add(c); }else if(i%3==1){ lisi.add(c); }else { wangwu.add(c); } } List<Card> lastThreeCards=allCards.subList(allCards.size()-3,allCards.size()); sortCards(zhangsan); sortCards(lisi); sortCards(wangwu); System.out.println("张三的牌:"+zhangsan); System.out.println("李四的牌:"+lisi); System.out.println("王五的牌:"+wangwu); System.out.println("三张底牌:"+lastThreeCards); } private static void sortCards(List<Card> cards) { Collections.sort(cards, new Comparator<Card>() { @Override public int compare(Card o1, Card o2) { return o2.getIndex()- o1.getIndex(); } }); }}
截图