扑克牌发牌洗牌代码

扑克牌发牌洗牌代码

package com.lkw;

import java.util.*;

public class testClass11 {

    //定义扑克牌为Map集合
    static Map<Integer, String> bround = new LinkedHashMap<>();
    //定义三个map玩家
    static Map<Integer, String> person1Bround = new TreeMap<>();
    static Map<Integer, String> person2Bround = new TreeMap<>();
    static Map<Integer, String> person3Bround = new TreeMap<>();
    static int num = 1;

    public static void main(String[] args) {
        //定义花色数组
        String[] colors = {"黑桃", "红桃", "梅花", "方块"};
        //定义牌面
        String[] faces = {"3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "2"};
        //定义大小王
        String[] kings = {"小王", "大王"};
        //循环两个数组,使牌加入到扑克牌当中
        for (String face : faces) {
            for (String color : colors) {
                bround.put(num++, color + face);
            }
        }
        //装入大小王
        for (String king : kings) {
            bround.put(num++, king);
        }
        //把顺序取出来打乱
        List<Integer> integers = new ArrayList<>(bround.keySet());
        //打乱牌库顺序
        Collections.shuffle(integers);
        //循环随机数,用于发牌
        for (int i = 0; i < integers.size(); i++) {
            Integer integer = integers.get(i);
            if (i >= 51) {
                //剩三张底牌
                //三个人手牌当中有黑桃三的抓地主
                if (person1Bround.containsKey(1)) {
                    person1Bround.put(integer, bround.get(integer));
                } else if (person2Bround.containsKey(1)) {
                    person2Bround.put(integer, bround.get(integer));
                } else if (person3Bround.containsKey(1)) {
                    person3Bround.put(integer, bround.get(integer));
                } else {
                    person1Bround.put(integer, bround.get(integer));
                }
            } else {
                if (i % 3 == 0) {
                    person1Bround.put(integer, bround.get(integer));
                } else if (i % 3 == 1) {
                    person2Bround.put(integer, bround.get(integer));
                } else {
                    person3Bround.put(integer, bround.get(integer));
                }
            }
        }
        Collection<String> values1 = person1Bround.values();
        Collection<String> values2 = person2Bround.values();
        Collection<String> values3 = person3Bround.values();
        System.out.println(values1);
        System.out.println(values2);
        System.out.println(values3);
    }
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值