Loading...

扑克牌java



以下是一个完整的 Java 扑克牌程序,包含了扑克牌的创建、洗牌、发牌等功能:

java

扑克牌java

import java.util.*;

// 扑克牌类

class Card {

private String suit; // 花色

private String rank; // 点数

public Card(String suit, String rank) {

this.suit = suit;

this.rank = rank;

@Override

public String toString {

return suit + rank;

// Getters

public String getSuit { return suit; }

public String getRank { return rank; }

// 扑克牌组类

class Deck {

private List cards;

public Deck {

initializeDeck;

// 初始化一副扑克牌

private void initializeDeck {

cards = 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) {

cards.add(new Card(suit, rank));

// 洗牌

public void shuffle {

Collections.shuffle(cards);

// 发一张牌

public Card dealCard {

if (cards.isEmpty) {

return null;

return cards.remove(0);

// 获取剩余牌数

public int remainingCards {

return cards.size;

// 显示整副牌

public void displayDeck {

for (int i = 0; i

System.out.print(cards.get(i) + " ");

if ((i + 1) % 13 == 0) {

System.out.println;

System.out.println;

// 玩家类

class Player {

private String name;

private List hand;

public Player(String name) {

this.name = name;

this.hand = new ArrayList;

// 玩家获得一张牌

public void receiveCard(Card card) {

hand.add(card);

// 显示手牌

public void displayHand {

System.out.print(name + "的手牌: ");

for (Card card : hand) {

System.out.print(card + " ");

System.out.println;

// 清空手牌

public void clearHand {

hand.clear;

// Getters

public String getName { return name; }

public List getHand { return hand; }

// 主程序

public class PokerGame {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

// 创建一副牌

Deck deck = new Deck;

Deck;

System.out.println("初始牌组:");

deck.displayDeck;

// 洗牌

deck.shuffle;

System.out.println("\

洗牌后:");

deck.displayDeck;

// 创建玩家

System.out.print("请输入玩家数量: ");

int playerCount = scanner.nextInt;

scanner.nextLine; // 消耗换行符

List players = new ArrayList;

for (int i = 1; i

System.out.print("请输入玩家" + i + "的名字: ");

String name = scanner.nextLine;

players.add(new Player(name));

// 发牌

System.out.print("\

请输入每位玩家的发牌数量: ");

int cardsPerPlayer = scanner.nextInt;

for (int i = 0; i

for (Player player : players) {

Card card = deck.dealCard;

if (card != null) {

player.receiveCard(card);

} else {

System.out.println("牌已发完!");

break;

QQpoker苹果版下载

// 显示所有玩家的手牌

System.out.println("\

发牌结果:");

for (Player player : players) {

player.displayHand;

// 显示剩余牌数

System.out.println("\

剩余牌数: " + deck.remainingCards);

scanner.close;

功能说明

这个 Java 扑克牌程序具有以下功能:

1. Card 类

  • 表示单张扑克牌,包含花色和点数
  • 2. Deck 类

  • 表示一副完整的扑克牌
  • 初始化一副标准的52张扑克牌
  • 洗牌功能
  • 发牌功能
  • 显示牌组状态
  • 3. Player 类

  • 表示玩家
  • 接收手牌
  • 显示手牌
  • 4. PokerGameokerGame 主程序

  • 演示整个扑克牌游戏的流程
  • 扩展建议

    你可以根据需要扩展这个程序,添加以下功能:

  • 判断牌型(对子、顺子、同花等)
  • 比较两手牌的大小
  • 实现特定的扑克游戏规则(如德州扑克、21点等)
  • 等)

  • 添加图形用户界面
  • 实现网络对战功能
  • 希望这个程序对你有所帮助!

    欢迎莅临▓qqpoker官方网站入口dr09.com▓2026最新版官方下载网址【cshyhb.com】以下简称:QQpoker安卓版下载app下载网址是多少✔全站,全称:QQpoker苹果版下载,Exciting Short Deck Poker玩法,官网下载地址,android版和ios版下载,刺激不间断!QQpoker俱乐部十大排名