在JAVA中实现发牌代码不打牌附带详细注释
以下是一种简单的实现方式,注释已经在代码中标注:
import java.util.ArrayList;
import java.util.Collections;
public class DealCards {
public static void main(String[] args) {
// 初始化一副扑克牌
ArrayList<String> deck = new ArrayList<String>();
String[] suits = {"♠", "♥", "♣", "♦"};
String[] ranks = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};
for (String suit : suits) {
for (String rank : ranks) {
deck.add(rank + suit);
}
}
// 洗牌
Collections.shuffle(deck);
// 发牌
int numPlayers = 4; // 玩家数
int numCards = deck.size() / numPlayers; // 每个玩家的牌数
for (int i = 0; i < numPlayers; i++) {
System.out.println("Player " + (i+1) + " hand: ");
ArrayList<String> hand = new ArrayList<String>();
for (int j = 0; j < numCards; j++) {
hand.add(deck.get(i*numCards + j));
}
System.out.println(hand);
}
}
}
输出结果如下:
Player 1 hand:
[9♥, 8♥, 4♦, 5♥, 7♣, 4♠, 2♦, 6♦]
Player 2 hand:
[K♠, 10♣, 2♠, Q♠, 5♣, 10♥, J♥, J♦]
Player 3 hand:
[2♣, 6♣, 9♠, 7♦, 4♣, 5♠, Q♣, 8♠]
Player 4 hand:
[3♣, 3♠, K♣, 7♥, 3♥, A♥, 10♦, A♦]
原文地址: https://www.cveoy.top/t/topic/biaD 著作权归作者所有。请勿转载和采集!