以下是一个简单的 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♦]
Java 实现发牌算法:代码示例及详细注释

原文地址: https://www.cveoy.top/t/topic/mJ4n 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录