斗地主游戏设计
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class GameDemo {
public static List<Card> cards=new ArrayList<>();
static {
String[] number={"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
String[] shape={"♠", "♥", "♣", "♦"};
int size=0;
for (int i = 0; i < number.length; i++) {
size++;
for (int i1 = 0; i1 < shape.length; i1++) {
Card card=new Card(number[i],shape[i1],size);
cards.add(card);
}
}
Card c1=new Card("","🃏",++size);
Card c2=new Card("","🃏",++size);
Collections.addAll(cards,c1,c2);
System.out.println("初始牌"+cards);
Collections.shuffle(cards);
System.out.println("洗过的牌"+cards);
}
public static void main(String[] args) {
List<Card> p1=cards.subList(0,17);
List<Card> p2=cards.subList(17,34);
List<Card> p3=cards.subList(34,51);
List<Card> last=cards.subList(51,54);
sortCard(p1);
sortCard(p2);
sortCard(p3);
System.out.println(p1);
System.out.println(p2);
System.out.println(p3);
System.out.println(last);
}
private static void sortCard(List<Card> cards) {
Collections.sort(cards, new Comparator<Card>() {
@Override
public int compare(Card o1, Card o2) {
return o1.getSize()- o2.getSize();
}
});
}
}
public class Card {
private String number;
private String shape;
private int size;
public Card() {
}
public Card(String number, String shape, int size) {
this.number = number;
this.shape = shape;
this.size = size;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getShape() {
return shape;
}
public void setShape(String shape) {
this.shape = shape;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
@Override
public String toString() {
return shape+number;
}
}