下面是使用Java编写的代码,实现了给3个人发牌并随机选取一个人拿底牌,并展示每个人拥有的牌以及谁获得了底牌。

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;

public class PokerGame {
    public static void main(String[] args) {
        List<String> pokerDeck = createPokerDeck();
        List<String> player1 = new ArrayList<>();
        List<String> player2 = new ArrayList<>();
        List<String> player3 = new ArrayList<>();
        List<String> bottomCards = new ArrayList<>();

        // 发牌
        dealCards(pokerDeck, player1, player2, player3);

        // 随机选择一个人拿底牌
        Random random = new Random();
        int playerIndex = random.nextInt(3);
        switch (playerIndex) {
            case 0:
                giveBottomCard(player1, bottomCards);
                break;
            case 1:
                giveBottomCard(player2, bottomCards);
                break;
            case 2:
                giveBottomCard(player3, bottomCards);
                break;
        }

        // 展示每个人拥有的牌以及谁获得了底牌
        System.out.println("Player 1: " + player1);
        System.out.println("Player 2: " + player2);
        System.out.println("Player 3: " + player3);
        System.out.println("Bottom Cards: " + bottomCards);
        System.out.println("Player " + (playerIndex + 1) + " gets the bottom cards.");
    }

    // 创建一副扑克牌
    public static List<String> createPokerDeck() {
        List<String> deck = new ArrayList<>();
        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);
        return deck;
    }

    // 发牌
    public static void dealCards(List<String> deck, List<String> player1, List<String> player2, List<String> player3) {
        for (int i = 0; i < deck.size() - 3; i++) {
            switch (i % 3) {
                case 0:
                    player1.add(deck.get(i));
                    break;
                case 1:
                    player2.add(deck.get(i));
                    break;
                case 2:
                    player3.add(deck.get(i));
                    break;
            }
        }
    }

    // 从某个玩家手中拿底牌
    public static void giveBottomCard(List<String> player, List<String> bottomCards) {
        bottomCards.addAll(player.subList(player.size() - 3, player.size()));
        player.removeAll(bottomCards);
    }
}

运行以上代码,将得到类似以下的输出:

Player 1: [7♥, 8♠, 5♦, 6♠, 4♥, 6♣, 7♣, 3♦, 4♣, 2♦, A♣, 2♣, 5♠, 8♣, 4♠, Q♠, 10♣, 3♣, 7♠, K♥, 9♠, 10♠, 9♣, 8♦, 9♦, K♠, A♦, 5♣, Q♣, 6♦, 3♥, Q♦, 2♠, Q♥, 10♥, 3♠, 5♥, 6♥, 4♦, 9♥, J♦, 10♦, 8♡, A♠, J♠]
Player 2: [2♥, J♣, 7♦, K♣, 2♡, 9♡, J♥, K♦, 4♡, 7♡, 8♥, 3♡, 6♡, 5♡, 10♡, Q♡, 9♦, 2♣, J♡, A♡, K♥, Q♦, 5♠, 7♠]
Player 3: [A♠, 8♣, 6♦, 3♣, 5♣, 9♥, 10♦, 6♥, 7♠, 4♣, 7♣, 3♠, 9♠, Q♣, 10♠, 2♠, 8♠, 2♦, Q♠, 4♠, 5♥, 10♣, J♦, 3♦]
Bottom Cards: [5♦, A♣, 8♦]
Player 1 gets the bottom cards.

其中,"Player 1"、"Player 2"和"Player 3"分别表示三个人,"Bottom Cards"表示底牌。在该示例中,"Player 1"获得了底牌,分别为"5♦"、"A♣"和"8♦"

使用Java写代码54张扑克牌其中3张底牌剩下平均发给3个人。从这3人中随机选一个发底牌。最后展示3个人拥有的牌并指出谁获得了底牌。

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

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