Java 发牌程序:实现牌局开始前的发牌逻辑
以下是一个简单的 Java 发牌程序,演示了如何初始化一副牌、洗牌以及将牌平均分配给多个玩家,可以作为游戏开发的基础,帮助您了解发牌机制。
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class CardGame {
public static void main(String[] args) {
List<String> deck = new ArrayList<String>();
// 初始化一副牌
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);
// 发牌
int numPlayers = 4;
int numCardsPerPlayer = 13;
List<List<String>> hands = new ArrayList<List<String>>();
for (int i = 0; i < numPlayers; i++) {
hands.add(new ArrayList<String>());
}
for (int i = 0; i < numCardsPerPlayer; i++) {
for (int j = 0; j < numPlayers; j++) {
hands.get(j).add(deck.remove(0));
}
}
// 输出每个人的牌
for (int i = 0; i < numPlayers; i++) {
System.out.println('玩家 ' + (i+1) + ' 的牌是:' + hands.get(i));
}
}
}
这个程序首先初始化了一副牌,然后洗牌,最后将牌平均分给四个玩家。最后输出每个玩家的牌。注意,这个程序并没有打牌,只是发了牌。
原文地址: https://www.cveoy.top/t/topic/mJ3I 著作权归作者所有。请勿转载和采集!