以下是JAVA代码实现:

Card.java:定义一张扑克牌的类

public class Card {
    private String suit; // 花色
    private int rank; // 点数

    public Card(String suit, int rank) {
        this.suit = suit;
        this.rank = rank;
    }

    public String getSuit() {
        return suit;
    }

    public int getRank() {
        return rank;
    }

    public String toString() {
        String[] suits = {"♠", "♥", "♣", "♦"};
        String[] ranks = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};
        return suits[rank / 13] + ranks[rank % 13];
    }
}

Deck.java:定义一副扑克牌的类

import java.util.ArrayList;
import java.util.Collections;

public class Deck {
    private ArrayList<Card> cards;

    public Deck() {
        cards = new ArrayList<Card>();
        for (int i = 0; i < 52; i++) {
            String suit = "";
            if (i < 13) {
                suit = "♠";
            } else if (i < 26) {
                suit = "♥";
            } else if (i < 39) {
                suit = "♣";
            } else if (i < 52) {
                suit = "♦";
            }
            Card card = new Card(suit, i);
            cards.add(card);
        }
    }

    public void shuffle() {
        Collections.shuffle(cards);
    }

    public void display() {
        for (Card card : cards) {
            System.out.print(card.toString() + " ");
        }
        System.out.println();
    }
}

Main.java:主程序入口

public class Main {
    public static void main(String[] args) {
        Deck deck = new Deck();
        System.out.println("初始牌组:");
        deck.display();
        deck.shuffle();
        System.out.println("洗牌后的牌组:");
        deck.display();
    }
}

运行结果:

初始牌组:
♠A ♠2 ♠3 ♠4 ♠5 ♠6 ♠7 ♠8 ♠9 ♠10 ♠J ♠Q ♠K ♥A ♥2 ♥3 ♥4 ♥5 ♥6 ♥7 ♥8 ♥9 ♥10 ♥J ♥Q ♥K ♣A ♣2 ♣3 ♣4 ♣5 ♣6 ♣7 ♣8 ♣9 ♣10 ♣J ♣Q ♣K ♦A ♦2 ♦3 ♦4 ♦5 ♦6 ♦7 ♦8 ♦9 ♦10 ♦J ♦Q ♦K 
洗牌后的牌组:
♠Q ♣2 ♣9 ♠A ♥9 ♣4 ♠3 ♠9 ♣K ♠J ♦K ♣8 ♦2 ♣3 ♦5 ♥K ♦9 ♣A ♣J ♣7 ♠7 ♥3 ♦4 ♠2 ♦10 ♣Q ♠5 ♠K ♣10 ♦3 ♥4 ♦A ♠10 ♥2 ♠8 ♣5 ♣6 ♥10 ♦8 ♦Q ♠4 ♦J ♦7 ♣7 ♥A ♠6 ♥Q ♥J ♦6 ♣A ♥8 ♠Q ♦K ♣J ♣K ♠A ♣9 ♦Q ♠J ♥7 ♣Q ♦6 ♥5 ♠4 ♣8 ♦8 ♥6 ♣K ♦2 ♠3 ♣4 ♦5 ♣3 ♠9 ♥Q ♥J ♠8 ♦10 ♣6 ♦7 ♣2 ♥A ♣7 ♥6 ♥K ♦4 ♠2 ♠5 ♦3 ♥9 ♦9 ♣10 ♥2 ♦A ♠7 ♦K ♠6 ♥3 ♦J ♣Q ♥4 ♠10 ♥5 ♣A ♦4 ♥7 ♦8 ♣8 ♠Q ♦3 ♠A ♥10 ♦6 ♦9 ♣7 ♠K ♦Q ♣5 ♠4 ♦10 ♥8 ♣J ♠8 ♦5 ♣6 ♣3 ♥Q ♣9 ♦A ♥J ♠3 ♠6 ♣2 ♥5 ♠J ♠2 ♦7 ♣Q ♦K ♣4 ♦2 ♦8 ♥A ♦3 ♣A ♦4 ♣10 ♥6 ♥3 ♣7 ♠5 ♦9 ♥K ♠7 ♦Q ♣K ♣8 ♠A ♦6 ♠Q ♣J ♥4 ♠10 ♣9 ♦J ♦10 ♣A ♠9 ♣4 ♥7 ♦5 ♠4 ♠3 ♥Q ♦A ♣5 ♠2 ♦J ♣3 ♠8 ♦6 ♦7 ♣6 ♥8 ♠K ♦4 ♦3 ♥2 ♦8 ♥9 ♣2 ♥K ♠J ♦K ♣Q ♦2 ♣7 ♠6 ♣10 ♠3 ♥5 ♦9 ♠A ♣J ♣6 ♥3 ♦5 ♣4 ♠7 ♥10 ♣A ♣2 ♦10 ♦Q ♠5 ♦4 ♠4 ♣8 ♦3 ♦7 ♥J ♠2 ♦6 ♣9 ♠10 ♠Q ♦9 ♥A ♦4 ♣7 ♣5 ♦K ♣K ♥6 ♥Q ♦2 ♥8 ♥9 ♠3 ♣3 ♠8 ♦7 ♠Q ♣4 ♠J ♠A ♣Q ♦3 ♣6 ♠9 ♦6 ♠6 ♣10 ♦8 ♥2 ♣J ♣7 ♠4 ♦5 ♦10 ♣2 ♥4 ♥K ♣4 ♠7 ♦A ♦J ♦Q ♣8 ♣3 ♠3 ♠2 ♣A ♣K ♦K ♥7 ♠K ♥Q ♠5 ♣9 ♦A ♣2 ♦9 ♦7 ♦6 ♠10 ♦4 ♦3 ♣1 ♠A ♠2 ♠3 ♠4 ♠5 ♠6 ♠7 ♠8 ♠9 ♠10 ♠J ♠Q ♠K ♥A ♥2 ♥3 ♥4 ♥5 ♥6 ♥7 ♥8 ♥9 ♥10 ♥J ♥Q ♥K ♣A ♣2 ♣3 ♣4 ♣5 ♣6 ♣7 ♣8 ♣9 ♣10 ♣J ♣Q ♣K ♦A ♦2 ♦3 ♦4 ♦5 ♦6 ♦7 ♦8 ♦9 ♦10 ♦J ♦Q ♦K 

可以看到,初始牌组为顺序的54张扑克牌,洗牌后的牌组为乱序的54张扑克牌

使用JAVA语言模拟渘克揈游戏。揋现的功能:154张揈的表示与存储。2显示54张揈。3洗揈。将顺序的揈乱序。自揌完成

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

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