45 lines
1.1 KiB
Java
45 lines
1.1 KiB
Java
package chapter6.demo64;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.Collections;
|
|
|
|
// Deck.java - 牌组类
|
|
public class Deck {
|
|
private ArrayList<Card> cards = new ArrayList<>();
|
|
private static final String[] COLORS = {"♠", "♥", "♣", "♦"};
|
|
private static final String[] POINTS = {"2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A"};
|
|
|
|
/**
|
|
* 初始化一副扑克牌
|
|
*/
|
|
public Deck() {
|
|
int index = 0;
|
|
// 生成52张普通牌
|
|
for (String point : POINTS) {
|
|
for (String color : COLORS) {
|
|
cards.add(new Card(color, point, index++));
|
|
}
|
|
}
|
|
// 添加大小王
|
|
cards.add(new Card("", "小☺", index++));
|
|
cards.add(new Card("", "大☻", index));
|
|
}
|
|
|
|
/**
|
|
* 洗牌
|
|
*/
|
|
public void shuffle() {
|
|
Collections.shuffle(cards);
|
|
}
|
|
|
|
/**
|
|
* 发牌
|
|
* @return 发出的牌
|
|
*/
|
|
public Card dealCard() {
|
|
if (!cards.isEmpty()) {
|
|
return cards.remove(0);
|
|
}
|
|
return null;
|
|
}
|
|
} |