案例说明:使用Java实现简单的斗地主洗牌发牌的操作
具体规则:
- 共有54张牌,顺序打乱;
- 三个玩家参与游戏,三人交替摸牌,每人17张牌,最后留三张为底牌(地主牌)。
源码实现:
/*
* 斗地主案例:
* 1.准备牌(定义牌的花色和序号)
* 2.洗牌(打乱顺序)
* 3.发牌(玩家获取牌、底牌)
* 4.看牌
* */
public static void main(String[] args) {
/*
* 1.准备牌
定义一个存储54张牌的ArrayList集合,泛型用String
*/
ArrayList<String> pukepai = new ArrayList<>();
//定义两个数组,存储扑克牌的花色和序号
String[] colors = {"♠","♦","♥","♣"};
String[] numbers = {"2","A","K","Q","J","10","9","8","7","6","5","4","3"};
//先把大、小王添加到扑克牌里面
pukepai.add("大王");
pukepai.add("小王");
//循环遍历两个数组,组装52张扑克牌
for (String color : colors) {
for (String number : numbers){
//将组装好的牌放到pukepai集合中
pukepai.add(color + number);
}
}
/*
* 2. 洗牌
* 使用工具类collections类的shuffle方法 :static void shuffle(List<?> list, Random rnd) 使用指定的随机源对指