**实现成果**
package com.tedu.ApI.Set; public class Card implements Comparable{ private String size; //点数 private String color;//花色 private int index;//在增加牌进入对象中 代表大小 public Card() { } public Card(String size, String color,int index) { this.size = size; this.color = color; this.index=index; } public String getSize() { return size; } public void setSize(String size) { this.size = size; } public String getColor() { return color; } public void setColor(String color) { this.color = color; } public int getIndex() { return index; } public void setIndex(int index) { this.index = index; } @Override public String toString() { return size + color ; } //排序比较牌的大小 @Override public int compareTo(Card o) { return o.getIndex()- this.getIndex(); } }
实现功能类
package com.tedu.ApI.Set;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class GameDemo {
//静态集合存储牌对象
public static List AllCard=new ArrayList<>();
//代码快初始牌数据
static {
String [] size ={"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
String [] card ={"♥","♠","♦","♣"};
int index =0;
for (String sizes : size) {
index++;
for (String cards : card) {
Card c=new Card(sizes,cards,index++);
AllCard.add(c);
}
}
AllCard.add(new Card("","大王",++index));
AllCard.add(new Card("","小王",++index));
System.out.println( "新牌 :"+AllCard);
}
public static void main(String[] args) {
//洗牌
Collections.shuffle(AllCard);
System.out.println("洗牌 :"+AllCard);
//发牌
List player1=new ArrayList<>();
List player2=new ArrayList<>();
List player3=new ArrayList<>();
//2♠, J♠, 6♥, 6♣, 3♦, 5♠, 2♥, 5♣
//i % 3
for (int i = 0; i < AllCard.size()-3; i++) {
Card card =AllCard.get(i);
if(i%3==0){
player1.add(card);
}else if(i%3==1){
player2.add(card);
}else if(i%3==2){
player3.add(card);
}
}
//拿到最后三张底牌(截取成一个子集合)
List diPcards = AllCard.subList(AllCard.size() - 3, AllCard.size());
//给玩家的牌排序
// 大王,小王,2♦,A♠, K♠,
Collections.sort(player1);
Collections.sort(player2);
Collections.sort(player3);
//输出玩家的牌
System.out.println("玩家1 "+player1);
System.out.println("玩家2 "+player2);
System.out.println("玩家3 "+player3);
System.out.println("底牌 "+diPcards);
}
}



