使用Java编写一个简单的斗地主小程序

代码如下:

import java.util.*;

public class DouDiZhuGame {
    public static void main(String[] args) {
        // 初始化牌
        List<String> poker = initPoker();
        
        // 洗牌
        Collections.shuffle(poker);
        
        // 发牌
        List<List<String>> players = dealCards(poker);
        
        // 游戏开始
        playGame(players);
    }
    
    // 初始化扑克牌
    public static List<String> initPoker() {
        List<String> poker = new ArrayList<>();
        
        String[] colors = {"♠️", "♥️", "♣️", "♦️"};
        String[] numbers = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};
        
        for (String color : colors) {
            for (String number : numbers) {
                poker.add(color + number);
            }
        }
        
        poker.add("小王");
        poker.add("大王");
        
        return poker;
    }
    
    // 发牌
    public static List<List<String>> dealCards(List<String> poker) {
        List<List<String>> players = new ArrayList<>();
        
        for (int i = 0; i < 3; i++) {
            players.add(new ArrayList<>());
        }
        
        for (int i = 0; i < poker.size(); i++) {
            String card = poker.get(i);
            
            if (i >= 51) {
                players.get(2).add(card);
            } else if (i % 3 == 0) {
                players.get(0).add(card);
            } else {
                players.get(1).add(card);
            }
        }
        
        return players;
    }
    
    // 游戏开始
    public static void playGame(List<List<String>> players) {
        System.out.println("游戏开始,三个玩家分别获得如下牌:");
        for (int i = 0; i < 3; i++) {
            System.out.println("玩家 " + (i + 1) + ":" + players.get(i));
        }
    }
}

上述代码是一个简单的斗地主游戏的 Java 程序实现。以下是代码的主要部分的解释:

1. `initPoker()` 函数用于初始化一副扑克牌。它创建一个包含所有扑克牌的列表,并将每个花色和数字组合成一个牌,并包括大小王。

2. `dealCards()` 函数用于洗牌和发牌。它接受一副牌作为参数,并创建一个包含三个空列表的玩家列表。然后,它使用`Collections.shuffle()`方法洗牌,将洗好的牌按照规则发给三名玩家。

3. `playGame()` 函数用于开始游戏。它接受包含玩家和牌的列表作为参数,并打印每个玩家手中的牌。

在 `main()` 函数中,程序首先调用 `initPoker()` 初始化牌,然后使用 `Collections.shuffle()` 洗牌得到一副乱序的牌。接下来,调用 `dealCards()` 发牌给三名玩家,并将结果保存在 `players` 列表中。最后,调用 `playGame()` 函数开始游戏,并打印每个玩家手中的牌。

这只是一个基本的斗地主游戏框架,大家可以根据需要进一步扩展它,例如添加游戏规则、实现玩家出牌逻辑、检查牌型、计分等功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值