Java 实现发牌算法:代码示例及详细注释
以下是一个简单的 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/mJ4n 著作权归作者所有。请勿转载和采集!