- 构建一张扑克牌
- 构建一套扑克牌:一套扑克牌–>打乱顺序
- 发牌
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
class Card{
private int number;
private String suit;
public Card( String suit,int number ){
this.suit = suit;
this.number = number;
}
@Override
public String toString() {
return "["+suit+","+number+"]";
}
}
class OperCard{
public static final String[] suits = {
"♥","♠","♦","♣"};
public List<Card> buyCard(){
List<Card> cardList = new ArrayList<>();
for (int i = 0; i < 4 ;i++){
for (int j = 1 ; j <= 13 ;j++){
cardList.add(new Card(suits[i],j));
}
}
return cardList;
}
public void swap(List<Card> cardList,int i,int j){
Card tmp = cardList.get(i);
cardList.set(i,cardList.get(j)) ;
cardList.set(j,tmp);
}
public void washCard(List<Card> cardList){
for(int i = cardList.size()-1; i > 0;i--){
Random random = new Random();
int rand = random.nextInt(i);
swap(cardList,i,rand);
}
}
}
public class TestPukepai {
public static void main(String[] args) {
System.out.println("===============买牌==============");
OperCard operCard = new OperCard();
List<Card> cardList=operCard.buyCard();
System.out.println(cardList);
System.out.println("===============洗牌==============");
operCard.washCard(cardList);
System.out.println(cardList);
System.out.println("===============发牌==============");
List<Card> hands1 = new ArrayList<>();
List<Card> hands2 = new ArrayList<>();
List<Card> hands3 = new ArrayList<>();
List<List<Card>> hands = new ArrayList<>();
hands.add(hands1);
hands.add(hands2);
hands.add(hands3);
for(int i = 0 ; i < 5 ; i++){
for (int j = 0 ; j < 3; j++){
Card card = cardList.remove(0);
hands.get(j).add(card);
}
}
System.out.println("第一个人:");
System.out.println(hands1);
System.out.println("第二个人:");
System.out.println(hands2);
System.out.println("第三个人:");
System.out.println(hands3);
System.out.println("剩余的牌:");
System.out.println(cardList);
}
}