java实现斗地主随机发牌的功能 一共54张牌 // 牌的花色分为 梅花 红桃 黑桃 方片 // 牌有 3 4 5 6 7 8 9 10 J Q K A 2 大王 小王 // 随机发给两个农民 和一个地主 地主 多三张牌 // 最后显示每人的牌的结果
时间: 2023-12-30 12:04:21 浏览: 154
扑克牌发牌程序
5星 · 资源好评率100%
要实现斗地主随机发牌的功能,你可以按照以下步骤进行操作:
1. 创建一个包含所有54张牌的列表。
2. 使用Collections.shuffle()方法对牌进行随机排序。
3. 创建三个玩家列表,分别表示两个农民和一个地主。
4. 使用列表的subList()方法将前17张牌分配给第一个农民,接下来的17张牌分配给第二个农民,剩余的20张牌分配给地主。
5. 输出每个玩家手中的牌。
以下是一个示例代码:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Doudizhu {
private static final String[] suits = {"梅花", "红桃", "黑桃", "方片"};
private static final String[] ranks = {"3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "2", "大王", "小王"};
public static void main(String[] args) {
List<String> deck = createDeck();
shuffleDeck(deck);
List<String> farmer1 = deck.subList(0, 17);
List<String> farmer2 = deck.subList(17, 34);
List<String> landlord = deck.subList(34, 54);
System.out.println("农民1的牌:" + farmer1);
System.out.println("农民2的牌:" + farmer2);
System.out.println("地主的牌:" + landlord);
}
private static List<String> createDeck() {
List<String> deck = new ArrayList<>();
for (String suit : suits) {
for (String rank : ranks) {
deck.add(suit + " " + rank);
}
}
return deck;
}
private static void shuffleDeck(List<String> deck) {
Collections.shuffle(deck);
}
}
```
这个示例代码中,我们首先创建了一个包含所有54张牌的列表。然后使用Collections.shuffle()方法对牌进行随机排序。接着,我们使用subList()方法将牌分配给每个玩家,并输出每个玩家手中的牌。
希望这个示例能够帮助你实现斗地主随机发牌的功能!
阅读全文