java实现扑克牌分发
时间: 2023-11-18 19:04:26 浏览: 114
java实现扑克牌分发功能
可以使用Java编写一个简单的扑克牌分发程序,以下是一个示例:
```java
import java.util.ArrayList;
import java.util.Collections;
public class PokerGame {
private ArrayList<String> deck;
public PokerGame() {
deck = 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) {
deck.add(rank + suit);
}
}
// 洗牌
Collections.shuffle(deck);
}
public void dealCards(int numPlayers, int numCards) {
if (numPlayers * numCards > deck.size()) {
System.out.println("牌不够分!");
return;
}
for (int i = 0; i < numPlayers; i++) {
System.out.printf("玩家 %d 的牌:", i + 1);
for (int j = 0; j < numCards; j++) {
String card = deck.remove(0);
System.out.print(card + " ");
}
System.out.println();
}
}
public static void main(String[] args) {
PokerGame game = new PokerGame();
game.dealCards(4, 5);
}
}
```
这个程序首先创建了一个包含52张扑克牌的牌组,然后使用`Collections.shuffle()`方法对牌组进行洗牌。接下来,`dealCards()`方法用来发牌,它接受两个参数:玩家数量和每个玩家的牌数。程序会检查牌组中是否有足够的牌来分发给玩家,如果不够,则输出错误信息。然后,程序会依次将牌发给每个玩家,并打印出每个玩家手中的牌。
在示例中,`main()`方法创建了一个PokerGame对象,并调用`dealCards()`方法将5张牌发给4个玩家。你可以根据需要修改玩家数量和每个玩家的牌数。运行程序,你将看到输出的结果是每个玩家手中的牌。
阅读全文