java 模拟洗牌发牌
时间: 2023-11-04 20:59:46 浏览: 49
好的,可以为您提供一个简单的 Java 代码段来模拟洗牌和发牌过程:
```java
import java.util.ArrayList;
import java.util.Collections;
public class ShuffleAndDealCards {
public static void main(String[] args) {
// 创建一个包含所有牌的 ArrayList
ArrayList<String> cards = new ArrayList<>();
String[] suits = {"♥", "♠", "♣", "♦"};
String[] values = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};
for (String suit : suits) {
for (String value : values) {
cards.add(value + suit);
}
}
// 打印出所有牌
System.out.println("所有牌:");
System.out.println(cards);
// 洗牌过程
Collections.shuffle(cards);
// 打印出洗好的牌
System.out.println("洗好的牌:");
System.out.println(cards);
// 发牌过程(假设有四个玩家)
ArrayList<String> player1 = new ArrayList<>();
ArrayList<String> player2 = new ArrayList<>();
ArrayList<String> player3 = new ArrayList<>();
ArrayList<String> player4 = new ArrayList<>();
for (int i = 0; i < cards.size(); i++) {
switch (i % 4) {
case 0:
player1.add(cards.get(i));
break;
case 1:
player2.add(cards.get(i));
break;
case 2:
player3.add(cards.get(i));
break;
case 3:
player4.add(cards.get(i));
break;
}
}
// 打印出四个玩家手中的牌
System.out.println("玩家1 的牌:");
System.out.println(player1);
System.out.println("玩家2 的牌:");
System.out.println(player2);
System.out.println("玩家3 的牌:");
System.out.println(player3);
System.out.println("玩家4 的牌:");
System.out.println(player4);
}
}
```
这个代码段会创建一个包含所有牌的 ArrayList,然后使用 Collections.shuffle() 方法来洗牌。接着,使用一个 for 循环将牌分给四个玩家。最后,打印出四个玩家手中的牌。