千家信息网

Java如何实现斗地主洗牌发牌系统

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要为大家展示了"Java如何实现斗地主洗牌发牌系统",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Java如何实现斗地主洗牌发牌系统"这篇文章吧。
千家信息网最后更新 2026年11月01日Java如何实现斗地主洗牌发牌系统

这篇文章主要为大家展示了"Java如何实现斗地主洗牌发牌系统",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Java如何实现斗地主洗牌发牌系统"这篇文章吧。

    一、斗地主

    1.前言

    相信每位看过《赌神》的同学都知道,里面有一种神奇的类似于魔术的力量。

    没错!我们今天要说的这个神奇的东西就是:特异功能(不是????)

    就是:斗地主的洗牌发牌系统!!!

    2.介绍

    扑克牌经典游戏"斗地主"相信很多人都会玩,这次就用Java语言来编写一个斗地主的洗牌发牌程序,要求按照斗地主的规则完成洗牌发牌的过程。

    一副扑克牌总共有54张牌,牌面由花色和数字或字母组成,花色有♠、♣、♦、♥四种,分别表示黑桃、梅花、方块、红桃,♛表示大王,♝表示小王。

    斗地主游戏共有三名玩家参与,首先将这54张牌的顺序打乱,之后每人轮流摸一次牌,剩余最后三张留作底牌,最后在控制台打印三位玩家的牌和三张底牌。

    3.图解

    二、准备牌

    以下代码均在 main方法中编写!!!

    1.代码示例

    //准备牌        HashMap map=new HashMap<>();        ArrayList list=new ArrayList<>();        map.put(1,"大王");        map.put(2,"小王");        list.add(1);        list.add(2);        String[] numbers={"2","A","K","Q","J","10","9","8","7","6","5","4","3"};        String[] colors={"♠","♥","♦","♣"};        int index=3;        for (String number : numbers) {            for (String color : colors) {                map.put(index,number + color);                list.add(index);                index++;            }        }

    注:此处代码编写要导入两个包:

    import java.util.HashMap;

    import java.util.ArrayList;

    2.数据展示

    使用System.out.println(map);和 System.out.println(list);语句展示数据如下:

    {1=大王, 2=小王, 3=2♠, 4=2♥, 5=2♦, 6=2♣, 7=A♠, 8=A♥, 9=A♦, 10=A♣, 11=K♠, 12=K♥, 13=K♦, 14=K♣, 15=Q♠, 16=Q♥, 17=Q♦, 18=Q♣, 19=J♠, 20=J♥, 21=J♦, 22=J♣, 23=10♠, 24=10♥, 25=10♦, 26=10♣, 27=9♠, 28=9♥, 29=9♦, 30=9♣, 31=8♠, 32=8♥, 33=8♦, 34=8♣, 35=7♠, 36=7♥, 37=7♦, 38=7♣, 39=6♠, 40=6♥, 41=6♦, 42=6♣, 43=5♠, 44=5♥, 45=5♦, 46=5♣, 47=4♠, 48=4♥, 49=4♦, 50=4♣, 51=3♠, 52=3♥, 53=3♦, 54=3♣}
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54]

    三、洗发牌与排序

    代码示例

     //洗牌        Collections.shuffle(list);                //发牌        ArrayList diPai=new ArrayList<>();        ArrayList player1=new ArrayList<>();        ArrayList player2=new ArrayList<>();        ArrayList player3=new ArrayList<>();                for (int i = 0; i < list.size(); i++) {            if(i>=51){                diPai.add(list.get(i));            }else if(i%3==0){                player1.add(list.get(i));            }else if(i%3== 1){                player2.add(list.get(i));            }else {                player3.add(list.get(i));            }        }        //排序    Collections.sort(diPai);    Collections.sort(player1);    Collections.sort(player2);    Collections.sort(player3);

    注:此处代码编写要导入一个包:

    import java.util.Collections;

    四、看牌(打印到控制台)

    1.代码示例

    //看牌    look("周润发",player1,map);    look("刘德华",player1,map);    look("周星驰",player1,map);    look("底牌",diPai,map);

    其中,要创建一个 look方法:

      private static void look(String name, ArrayList list, HashMap map) {        System.out.println(name+":");        for (Integer number : list) {            System.out.print(map.get(number)+" ");        }        System.out.println();    }

    2.展示

    周润发:
    A♣ K♣ Q♥ Q♣ J♠ J♦ J♣ 10♥ 10♦ 10♣ 9♠ 6♠ 6♦ 5♦ 4♦ 3♠ 3♦
    刘德华:
    A♣ K♣ Q♥ Q♣ J♠ J♦ J♣ 10♥ 10♦ 10♣ 9♠ 6♠ 6♦ 5♦ 4♦ 3♠ 3♦
    周星驰:
    A♣ K♣ Q♥ Q♣ J♠ J♦ J♣ 10♥ 10♦ 10♣ 9♠ 6♠ 6♦ 5♦ 4♦ 3♠ 3♦
    底牌:
    2♥ A♠ 7♠

    以上是"Java如何实现斗地主洗牌发牌系统"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

    斗地主 代码 系统 底牌 内容 大王 示例 篇文章 小王 神奇 周润发 就是 扑克 扑克牌 控制台 数据 方法 玩家 花色 刘德华 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技互联网 上海挚品互联网科技有限公司 互联网科技工作委员会主任 蓝思科技飞鸽互联网 互联网科技工作委员会副主任毛军 科技互联网企业 万易互联网科技有限公司 世界互联网领先科技成果 西安互联网科技公司 菲比寻常互联网科技 上海亿帐通互联网科技 人人互联网科技是培训 成都仁贤领冠互联网科技有限公司 青岛科技大学互联网大赛研究生 燊美集互联网科技有限公司 朱啸虎曾投资哪些互联网科技企业 四川互联网展示科技馆设计 有人说阿里系是互联网科技企业 互联网科技手机排行榜 互联网科技机房 重生之互联网科技帝国 互联网 科技创新 一五八零互联网科技 广州慧亚互联网科技怎么样 新兴科技互联网创新大赛颁奖典礼 中国互联网有什么科技 易企秀互联网科技是做什么的 神州科技互联网有限公司 万物互联网智能科技 互联网对科技影响
    0