Java实现将牌随机发给任意的人
时间: 2024-10-19 14:17:41 浏览: 0
在Java中,我们可以使用ArrayList来模拟扑克牌的数组,然后利用Collections.shuffle()方法来打乱顺序,再通过循环分配给每个人。以下是一个简单的示例,假设我们有52张牌(黑桃、红心、梅花、方块各13张),4个人参与游戏:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
class Card {
String suit; // 扑克牌花色(如"Spades"、"Hearts"等)
int rank; // 扑克牌点数(2~A)
// 构造函数,省略...
}
public class Deck {
List<Card> deck = new ArrayList<>();
// 初始化牌堆,省略...
public void distributeToPlayers(List<Player> players) {
Collections.shuffle(deck); // 打乱牌的顺序
for (int i = 0; i < deck.size(); i++) {
// 指定每个人获得的牌的数量,这里假设有足够多的牌供每个人分发
players.get(i % players.size()).addCard(deck.remove(i));
}
}
}
class Player {
private List<Card> cards;
public void addCard(Card card) {
cards.add(card);
System.out.println("玩家 " + getName() + " 获得了:" + card);
}
// 获取名字的方法,省略...
}
// 主函数
public static void main(String[] args) {
Deck deck = new Deck();
List<Player> players = new ArrayList<>();
// 添加四名玩家,省略...
deck.distributeToPlayers(players);
}
```
阅读全文