斗地主 poker

解题过程:

在这里插入图片描述

package demo_05;

import java.util.ArrayList;
import java.util.Collections;

public class PoKer {
    public static void main(String[] args) {
// 制作poker牌
        ArrayList<String> list = new ArrayList<>();
        String[] color = {"红桃", "梅花", "黑桃", "方片"};
        String[] number = {"2", "A", "K", "Q", "J", "10", "9", "8", "7", "6", "5", "4", "3"};
        list.add("大王");
        list.add("小王");
        for (String s : color) {
            for (String s1 : number) {
                String str = s + s1;
                list.add(str);
            }
        }
        // 洗牌
        Collections.shuffle(list); // 随机将list 集合元素打乱
        // 分发牌面
        ArrayList<String> player01 = new ArrayList<String>();
        ArrayList<String> player02 = new ArrayList<String>();
        ArrayList<String> player03 = new ArrayList<String>();
        ArrayList<String>dipai = new ArrayList<String>();
        for (int i = 0; i < list.size(); i++) {
            if(i>=51)
            {
                dipai.add(list.get(i));
            }
            else if(i%3==0)
            {player01.add(list.get(i));
            }
            else if(i%3==1)
            {player02.add(list.get(i));
            }
            else if(i%3==2)
            {player03.add(list.get(i));
            }
        }
        //  查看牌面
        System.out.print("底牌:");
        System.out.println(dipai);
        System.out.print("玩家1::");
        System.out.println(player01);
        System.out.print("玩家2::");

        System.out.println(player02);
        System.out.print("玩家3::");
        System.out.println(player03);

    }
}

看牌排序的代码

实例
代码分析

package demo_06;

import kotlin.reflect.jvm.internal.impl.util.collectionUtils.ScopeUtilsKt;

import java.awt.*;
import java.util.*;
import java.util.List;

public class PoKerSortTest {
    public static void main(String[] args) {
        HashMap<Integer, String> poker = new HashMap();
        ArrayList<Integer> pokernum = new ArrayList<>();
        String[] color = {"红桃", "黑桃", "梅花", "方片"};
        String[] number = {"2", "A", "K", "Q", "J", "10", "9", "8", "7", "6", "5", "4", "3"};
        int nums=0;
        poker.put(nums,"大王");
        pokernum.add(nums);
        nums++;
        poker.put(nums,"小王");
        pokernum.add(nums);
        nums++;
        for (String s1 : number) {
            for (String s2 : color) {
                poker.put(nums,s2+s1);
                pokernum.add(nums);
                nums++;
            }

        }
     Collections.shuffle(pokernum);
        ArrayList<Integer> p1=new ArrayList<>();
        ArrayList<Integer> p2=new ArrayList<>();
        ArrayList<Integer> p3=new ArrayList<>();
        ArrayList<Integer> dipai=new ArrayList<>();
        for (int i = 0; i <pokernum.size(); i++) {
            Integer in = pokernum.get(i);
            if(i>=51)
            {
                dipai.add(in);
            }
            else if(i%3==0){
                p1.add(in);
            }
            else if(i%3==1){
                p2.add(in);
            }
            else if(i%3==2){
                p3.add(in);
            }
        }
        Collections.sort(p1);
        Collections.sort(p2);
        Collections.sort(p3);
        Collections.sort(dipai);
        seepoker("玩家1",poker,p1);
        seepoker("玩家2",poker,p2);
        seepoker("玩家3",poker,p3);
        seepoker("底牌",poker,dipai);

    }

    private static void seepoker(String name,HashMap<Integer, String> poker,ArrayList<Integer> list) {
        System.out.print(name+"::");
        for (Integer key: list) {
            String str = poker.get(key);
            System.out.print(str+" ");
        }
        System.out.println();

    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值