代码如下:
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()` 函数开始游戏,并打印每个玩家手中的牌。
这只是一个基本的斗地主游戏框架,大家可以根据需要进一步扩展它,例如添加游戏规则、实现玩家出牌逻辑、检查牌型、计分等功能。