模拟斗地主发牌JAVA
时间: 2023-10-26 19:05:33 浏览: 111
Java斗地主发牌
好的,以下是一个简单的模拟斗地主发牌的Java代码:
```java
import java.util.*;
public class DouDiZhu {
public static void main(String[] args) {
List<String> cards = 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) {
cards.add(color + number);
}
}
cards.add("大王");
cards.add("小王");
// 洗牌
Collections.shuffle(cards);
// 发牌
List<String> player1 = new ArrayList<>();
List<String> player2 = new ArrayList<>();
List<String> player3 = new ArrayList<>();
List<String> diPai = new ArrayList<>();
for (int i = 0; i < cards.size(); i++) {
String card = cards.get(i);
if (i >= 51) {
diPai.add(card);
} else if (i % 3 == 0) {
player1.add(card);
} else if (i % 3 == 1) {
player2.add(card);
} else if (i % 3 == 2) {
player3.add(card);
}
}
// 输出结果
System.out.println("玩家1的牌:" + player1);
System.out.println("玩家2的牌:" + player2);
System.out.println("玩家3的牌:" + player3);
System.out.println("底牌:" + diPai);
}
}
```
这个程序会初始化一副牌并洗牌,然后按照斗地主的规则发牌给三个玩家和底牌。每个玩家手中的牌是随机的,底牌也是随机的。输出结果会显示每个玩家手中的牌和底牌。
阅读全文