记录自己写的第一个完整java程序--斗地主发牌

//记录自己写的第一个完整java程序--斗地主发牌



import java.util.*;

public class poker {



    public static void main(String[] args) {
        String aStrColor[] = {"♠","♥","♣","♦"};
        String aStrNumber[] = {"3","4","5","6","7","8","9","10","J","Q","K","Z","2"};
        String aStrPoker_Wang[] = {"小王","大王"};
        StringBuilder  strPokerPai = new StringBuilder() ;

        int iNum = 0;

        Map<Integer, String> map_PokerPai = new HashMap<>();
        List<Integer> list_PokerNum = new ArrayList<>();



        for (String strColor : aStrNumber ) {
            for (String strNum :  aStrColor) {
                strPokerPai.append(strColor + strNum + " ");
                map_PokerPai.put(iNum, strColor + strNum);
                list_PokerNum.add(iNum);
                iNum++;

            }
        }

        map_PokerPai.put(iNum,  aStrPoker_Wang[0]);
        list_PokerNum.add(iNum++);
        map_PokerPai.put(iNum,  aStrPoker_Wang[1]);
        list_PokerNum.add(iNum);

        Map<Integer, String> map_LanXiaoJing = new HashMap<>();
        Map<Integer, String> map_KeDanTing = new HashMap<>();
        Map<Integer, String> map_Me = new HashMap<>();
        Map<Integer, String> map_DiPai = new HashMap<>();

        //System.out.println(map_PokerPai);
        //System.out.println("list size:" + list_PokerNum.size());
        //list_PokerNum.stream().forEach(System.out:print);
        Collections.shuffle(list_PokerNum);

        System.out.println(list_PokerNum);
        for(int iListNum=0; iListNum < list_PokerNum.size(); iListNum++)
        {
            //System.out.println(iListNum);
            int iPaiNum = list_PokerNum.get(iListNum);

            if(iListNum >= 51)
            {
                map_DiPai.put(iPaiNum, map_PokerPai.get(iPaiNum));
                continue;
            }

            if(0 == (iListNum%3)){
                map_LanXiaoJing.put(iPaiNum, map_PokerPai.get(iPaiNum));
            }
            else if(1 == (iListNum%3)){
                map_KeDanTing.put(iPaiNum, map_PokerPai.get(iPaiNum));
            }
            else if(2 == (iListNum%3)) {
                map_Me.put(iPaiNum, map_PokerPai.get(iPaiNum));
            }
        }

        System.out.println("1:  " + PoKerPaiXu(map_LanXiaoJing, map_PokerPai));
        System.out.println("2:  " + PoKerPaiXu(map_KeDanTing, map_PokerPai));
        System.out.println("2:   " + PoKerPaiXu(map_Me, map_PokerPai));
        System.out.println("底牌:   " + PoKerPaiXu(map_DiPai, map_PokerPai));



        return;
    }


    public static String PoKerPaiXu(Map<Integer, String> Map_PersonPoKer, Map<Integer, String> Map_PoKer)
    {
        List<Integer> list_PaiXu = new ArrayList<>();

        Set<Integer> set_hashMap = Map_PersonPoKer.keySet();

        Iterator<Integer> it_hashMap = set_hashMap.iterator();

        while(it_hashMap.hasNext()){

            Integer iKey  = it_hashMap.next();
            list_PaiXu.add(iKey);
        }

        Collections.sort(list_PaiXu);

        //System.out.println("paixu:" + list_PaiXu);

        StringBuilder strPersonPai = new StringBuilder();
        for(int iListNum=0; iListNum < list_PaiXu.size(); iListNum++) {
            //System.out.println(iListNum);
            //System.out.println(list_PaiXu.get(iListNum));
            strPersonPai.append(Map_PoKer.get(list_PaiXu.get(iListNum)) + " ");
        }

        //System.out.println(strPersonPai);
        return strPersonPai.toString();

    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值