精华内容
下载资源
问答
  • 三人斗地主生成、发牌、洗牌(暂无手牌排序) 用Java来编写这样小游戏 功能: 每人17张牌 留三张底牌 缺陷: 暂时不能将手牌有规律排序 源码: package com.company; import java.lang.reflect.Array; ...

    三人斗地主的生成、发牌、洗牌(暂无手牌排序)

    用Java来编写这样的小游戏

    功能:

    	每人17张牌
    	留三张底牌
    

    缺陷:

    	暂时不能将手牌有规律的排序
    

    源码:

    package com.company;
    
    import java.lang.reflect.Array;
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;
    
    public class DouDiZhu {
        public static void main (String[] args) {
            List<String> pokes = new ArrayList<>();
            List<String> colors = new ArrayList<>();
            List<String> numbers = new ArrayList<>();
    
            colors.add("♥");
            colors.add("♠");
            colors.add("♦");
            colors.add("♣");
            numbers.add("A");
            for (int i = 2; i <= 10; i++) {
                numbers.add(i + "");
            }
            numbers.add("J");
            numbers.add("Q");
            numbers.add("K");
    
            for (String c : colors) {
                for (String n : numbers) {
                    String pai = c + n;
                    pokes.add(pai);
                }
            }
            pokes.add("大王");
            pokes.add("小王");
            System.out.println("牌" + pokes);
            //洗牌
            Collections.shuffle(pokes);
            System.out.println("洗牌之后" + pokes);
            ArrayList<String> me = new ArrayList<>();
            ArrayList<String> dabaobei = new ArrayList<>();
            ArrayList<String> xiaobaobei = new ArrayList<>();
            ArrayList<String> dipai = new ArrayList<>();
            for (int i = 0; i < pokes.size(); i++) {
                String pai = pokes.get(i);
                if (i >= 51) {
                    dipai.add(pai);
                } else if (i % 3 == 0) {
                    me.add(pai);
                } else if (i % 3 == 1) {
                    dabaobei.add(pai);
                } else {
                    xiaobaobei.add(pai);
                }
            }
            System.out.println(dipai);
            System.out.println("我"+me);
            System.out.println("大宝贝"+dabaobei);
            System.out.println("小宝贝"+xiaobaobei);
        }
    }
    
    
    
    

    输出结果:在这里插入图片描述

    展开全文
  • 用上面数组,生成一副扑克牌 5、遍历显示全副扑克牌 6、模拟给4个人随机发牌,每个11张牌 7、显示每个人的牌和剩余
  • 四人发牌洗牌程序

    2018-04-08 22:26:21
    编写一个模拟人工洗牌的程序,将洗好的牌分别...*4)可以设计成图形用户界面,通过按钮进行洗牌、发牌的动作,并按上面的要求显示东西南北四个人手上的牌型。 此代码按照要求做好,并有注释,方便根据个人需要修改。
  • 扑克牌算是老少皆宜的经典款游戏之一,玩法多样,但万变不离其宗,想要编写扑克牌类游戏,首先得整理清楚发牌的逻辑。1. 游戏介绍4名牌手打牌,电脑随机將52张牌(不合大、小王)发给4名牌手,并在屏幕上显示每位...

    d174e9f3c00eb68aafcfe77b0e29e268.png

    扑克牌算是老少皆宜的经典款游戏之一,玩法多样,但万变不离其宗,想要编写扑克牌类游戏,首先得整理清楚发牌的逻辑。

    893753ff9ae4e25365c88edb6ead638a.png

    4339065f45816a51df2b30aeab62fb86.png

    1. 游戏介绍

    4名牌手打牌,电脑随机將52张牌(不合大、小王)发给4名牌手,并在屏幕上显示每位牌手的牌。

    2. 面向对象程序设计

    既然只做发牌,那么我们就只需要整理清楚发牌的过程中所牵涉到的对象即可。其实整个发牌的过程中,所牵扯到的只有牌,但分三种不同的情况显示,第一个是单张牌(Card),第二个是一整副牌(Poke),第三个是玩家手里的牌(Hand),三个对象类编写出来,我们就可以很清晰地完成整个发牌的过程。

    3. 程序设计步骤

    设计类:发牌程序设计出三个类:Card类、Hand类和Poke类。

    Card类:Card类代表一张牌,其中,FaceNum字段指的是牌面数字1~13,Suit字段指的是花色,”梅”为梅花,”方”为方块,”红”为红桃,”黑”为黑桃。

    Hand类:Hand类代表手牌(一个玩家手里拿的牌),可以认为是一位牌手手里的牌,其中,cards列表变量存储牌手手中的牌。可以增加牌、清空手里的牌、把一张牌给别的牌手等操作。

    Poke类:Poke类代表一副牌,我们可以将一副牌看作是有52张牌的牌手,所以继承Hand类。由于其中cards列表变量要存储52张牌,而且要进行发牌、洗牌操作,所以增加如下的方法。

    主程序:主程序比较简单,因为有四个牌手,所以生成players列表存储初始化的四位牌手。生成一副牌的对象实例poke1,调用populate()方法生成有52张牌的一副牌,调用huffle()方法洗牌打乱顺序,调用deal(players,13)方法分别给每位玩家发13张牌,最后示四位牌手所有的牌。

    4. 代码实现

    Card类:

    1>定义牌面数字及花色

    2>定义初始化构造方法

    3>定义牌面花色+数字拼接字符串显示方法

    4>定义翻牌方法

    5>定义牌的顺序号

    a1c2d3b90439b7775b2d5fc07d386835.png

    0c44c1b8ac3dc8eabc9a364b4a961495.png

    Hand类:

    1>定义初始化构造方法

    2>定义牌面花色+数字拼接字符串显示方法

    3>定义清空扑克牌的方法

    4>定义追加扑克牌的方法

    5>定义给予扑克牌的方法

    9a8f65dce730251cf2db8b6a772df7e7.png

    Poke类:

    1>定义生成一副牌的方法

    2>定义洗牌的方法

    3>定义发牌的方法

    5bd804f3e82f0ed88741b73313ca391f.png

    主程序定义:

    789255dc9f802f7c2389b0e7ac676c83.png

    运行结果:

    015be10d4d01025cac12834719ad5d57.png

    完成!是不是很简单呢?自己试试看吧~

    ed3fcf51-f552-eb11-8da9-e4434bdf6706.png

    注:本文基于64位windows系统(鼠标右键点击桌面“此电脑”图标——属性可查看电脑系统版本)、python3.x(pycharm自动安装的版本, 3.0以上)。

    文中代码内容所使用的工具是pycharm-community-2020.1,实践中如有碰到问题,可留言提问。

    展开全文
  • 扑克牌算是老少皆宜的经典款游戏之一,玩法多样,但万变不离其宗,想要编写扑克牌类游戏,首先得整理清楚发牌的逻辑。1. 游戏介绍4名牌手打牌,电脑随机將52张牌(不合大、小王)发给4名牌手,并在屏幕上显示每位...

    af2ee35498822710e8ba647696ceb664.png

    扑克牌算是老少皆宜的经典款游戏之一,玩法多样,但万变不离其宗,想要编写扑克牌类游戏,首先得整理清楚发牌的逻辑。

    a392bd34a25979f53d710e0285010ca2.png

    bba1ff4d7304652a2b1014b3b5ae3421.png

    1. 游戏介绍

    4名牌手打牌,电脑随机將52张牌(不合大、小王)发给4名牌手,并在屏幕上显示每位牌手的牌。

    2. 面向对象程序设计

    既然只做发牌,那么我们就只需要整理清楚发牌的过程中所牵涉到的对象即可。其实整个发牌的过程中,所牵扯到的只有牌,但分三种不同的情况显示,第一个是单张牌(Card),第二个是一整副牌(Poke),第三个是玩家手里的牌(Hand),三个对象类编写出来,我们就可以很清晰地完成整个发牌的过程。

    3. 程序设计步骤

    设计类:发牌程序设计出三个类:Card类、Hand类和Poke类。

    Card类:Card类代表一张牌,其中,FaceNum字段指的是牌面数字1~13,Suit字段指的是花色,”梅”为梅花,”方”为方块,”红”为红桃,”黑”为黑桃。

    Hand类:Hand类代表手牌(一个玩家手里拿的牌),可以认为是一位牌手手里的牌,其中,cards列表变量存储牌手手中的牌。可以增加牌、清空手里的牌、把一张牌给别的牌手等操作。

    Poke类:Poke类代表一副牌,我们可以将一副牌看作是有52张牌的牌手,所以继承Hand类。由于其中cards列表变量要存储52张牌,而且要进行发牌、洗牌操作,所以增加如下的方法。

    主程序:主程序比较简单,因为有四个牌手,所以生成players列表存储初始化的四位牌手。生成一副牌的对象实例poke1,调用populate()方法生成有52张牌的一副牌,调用huffle()方法洗牌打乱顺序,调用deal(players,13)方法分别给每位玩家发13张牌,最后示四位牌手所有的牌。

    4. 代码实现

    Card类:

    1>定义牌面数字及花色

    2>定义初始化构造方法

    3>定义牌面花色+数字拼接字符串显示方法

    4>定义翻牌方法

    5>定义牌的顺序号

    3e6797b8a7a61363fc121509fa307f57.png

    6490ce3d263c60982293d8616a3c9599.png

    Hand类:

    1>定义初始化构造方法

    2>定义牌面花色+数字拼接字符串显示方法

    3>定义清空扑克牌的方法

    4>定义追加扑克牌的方法

    5>定义给予扑克牌的方法

    1747d27795c5c90b4a61b636efbf8fb0.png

    Poke类:

    1>定义生成一副牌的方法

    2>定义洗牌的方法

    3>定义发牌的方法

    c9a66449762fd4c69ab22a6721c1ca53.png

    主程序定义:

    8a327b81f2d7a7404fcb5803a3e7479f.png

    运行结果:

    8aa74fd58941e253d0907373d0320ecb.png

    完成!是不是很简单呢?自己试试看吧~

    3d8bc40deb2ccac378fb0c47ce3ea76d.gif

    注:本文基于64位windows系统(鼠标右键点击桌面“此电脑”图标——属性可查看电脑系统版本)、python3.x(pycharm自动安装的版本, 3.0以上)。

    文中代码内容所使用的工具是pycharm-community-2020.1,实践中如有碰到问题,可留言提问。

    展开全文
  • 扑克牌算是老少皆宜的经典款游戏之一,玩法多样,但万变不离其宗,想要编写扑克牌类游戏,首先得整理清楚发牌的逻辑。1. 游戏介绍4名牌手打牌,电脑随机將52张牌(不合大、小王)发给4名牌手,并在屏幕上显示每位牌手...

    扑克牌算是老少皆宜的经典款游戏之一,玩法多样,但万变不离其宗,想要编写扑克牌类游戏,首先得整理清楚发牌的逻辑。

    1. 游戏介绍

    4名牌手打牌,电脑随机將52张牌(不合大、小王)发给4名牌手,并在屏幕上显示每位牌手的牌。

    2. 面向对象程序设计

    既然只做发牌,那么我们就只需要整理清楚发牌的过程中所牵涉到的对象即可。其实整个发牌的过程中,所牵扯到的只有牌,但分三种不同的情况显示,第一个是单张牌(Card),第二个是一整副牌(Poke),第三个是玩家手里的牌(Hand),三个对象类编写出来,我们就可以很清晰地完成整个发牌的过程。

    3. 程序设计步骤

    设计类:发牌程序设计出三个类:Card类、Hand类和Poke类。

    Card类:Card类代表一张牌,其中,FaceNum字段指的是牌面数字1~13,Suit字段指的是花色,”梅”为梅花,”方”为方块,”红”为红桃,”黑”为黑桃。

    Hand类:Hand类代表手牌(一个玩家手里拿的牌),可以认为是一位牌手手里的牌,其中,cards列表变量存储牌手手中的牌。可以增加牌、清空手里的牌、把一张牌给别的牌手等操作。

    Poke类:Poke类代表一副牌,我们可以将一副牌看作是有52张牌的牌手,所以继承Hand类。由于其中cards列表变量要存储52张牌,而且要进行发牌、洗牌操作,所以增加如下的方法。

    主程序:主程序比较简单,因为有四个牌手,所以生成players列表存储初始化的四位牌手。生成一副牌的对象实例poke1,调用populate()方法生成有52张牌的一副牌,调用huffle()方法洗牌打乱顺序,调用deal(players,13)方法分别给每位玩家发13张牌,最后示四位牌手所有的牌。

    4. 代码实现

    Card类:

    1>定义牌面数字及花色

    2>定义初始化构造方法

    3>定义牌面花色+数字拼接字符串显示方法

    4>定义翻牌方法

    5>定义牌的顺序号

    Hand类:

    1>定义初始化构造方法

    2>定义牌面花色+数字拼接字符串显示方法

    3>定义清空扑克牌的方法

    4>定义追加扑克牌的方法

    5>定义给予扑克牌的方法

    Poke类:

    1>定义生成一副牌的方法

    2>定义洗牌的方法

    3>定义发牌的方法

    主程序定义:

    运行结果:

    完成!是不是很简单呢?自己试试看吧~

    注:本文基于64位windows系统(鼠标右键点击桌面“此电脑”图标——属性可查看电脑系统版本)、python3.x(pycharm自动安装的版本, 3.0以上)。

    文中代码内容所使用的工具是pycharm-community-2020.1,实践中如有碰到问题,可留言提问。

    展开全文
  • C语言模拟三人发牌

    2012-08-24 21:18:12
    C语言模拟三人发牌(52张牌) C语言中,对数组使用,冒泡法使用,for循环,嵌套for循环使用,遍历数组,switch-case使用
  • 于是,自己动手实现了一个发牌功能,能针对某个,给他发不好牌,也可以鼓励菜鸡,发一手吊炸天牌。 主要有四个类: 纸牌类:Card 玩家类:Palyer 游戏桌类:Machine 荷官类:Croupier package ...
  • 扑克牌发牌3或4

    2019-09-12 15:34:38
    有点麻烦,不知道怎么优化 public List<String> pai(){ List<String> list=new ArrayList<String>(); List<String> color=new ArrayList<String>(); List<String> ...
  • 发牌

    2018-06-30 09:31:11
    参考...下面是一个关于发牌的问题。 现有发牌手上有N张牌,先把放在最上面的牌放到桌上,接着把剩下的N-1张牌最上面的一张取出放到这叠牌的最下面。这样算完成了...
  • java实现斗地主发牌

    千次阅读 2019-09-05 08:55:27
    说明 这是之前学习java时...首先考虑一个斗地主游戏中有什么对象,我认为斗地主中应该会有玩家,还有牌,另外还需要一个发牌的人,我比较懒,觉得玩家负责玩就好了,发牌,洗牌这种事就不自己动手了。所以分为Pla...
  • 一副牌出去大小王52张,随机发牌,四人每次都得到不同
  • Java实现的发牌程序

    2018-10-16 15:06:30
    (4) 发牌完成后按花色(顺序为黑桃、红心、草花、方块)和牌面大小输出每个得到牌。 例如: 输入扑克牌幅数:1 输入人数:3 输出如下: 第1个人: 黑桃:K 10 5 A 红心:10 3 2 草花:K 10 8 6 3 A 方块:Q J ...
  • 按照斗地主的规则,完成洗牌发牌的动作。 具体规则: 1. 组装54张扑克牌将 2. 54张牌顺序打乱 3. 三个玩家参与游戏,三人交替摸牌,每人17张牌,最后三张留作底牌。 4. 查看三人 各自手中的牌(按照牌的...
  • 按照斗地主的规则,完成洗牌发牌的动作。 具体规则: 使用54张牌打乱顺序,三个玩家参与游戏,三人交替摸牌,每人17张牌,最后三张留作底牌。 所用到的知识点为:集合,增强for循环 方法为:add(),get(),shuffle() ...
  • package net.yajun.test; import java.util.ArrayList; import java.util.Collections; /** * @author yajun sir * @version v1.0 */ //先创建一个牌盒 ... //发牌 //看牌 public class DouDi...
  • Java实现扑克牌的生成、发牌、洗牌、排序需求排序还没有实现,大佬指导呀源码 需求 生成一副斗地主的扑克牌 三个角色玩牌 输出洗牌后的随机扑克 三个人每人随机获得17张牌,并留下的3张底牌 输出排序过的三人的牌 ...
  • java 按照斗地主的规则,完成洗牌发牌的动作。 具体规则: 组装54张扑克牌将 54张牌顺序打乱 三个玩家参与游戏,三人交替摸牌,每人17张牌,最后三张留作底牌。 查看三人各自手中的牌(按照牌的大小排序)、底牌 ...
  • 按照斗地主的规则,完成洗牌发牌的动作。 具体规则: 组装54张扑克牌将 54张牌顺序打乱 三个玩家参与游戏,三人交替摸牌,每人17张牌,最后三张留作底牌。 查看三人各自手中的牌(按照牌的大小...
  • 三人斗地主(自动发牌程序)

    千次阅读 2018-08-17 09:22:35
    编写一个自动发牌程序,模拟三人斗地主摸牌场景。首先要给出提示,谁首先开始摸牌,并且摸牌要和现实摸牌一样,三人循环摸牌,最后还要剩余三张底牌,同时给出地主牌,摸到地主牌玩家拥有三张底牌。三张底牌三人...
  • 发牌的小窍门

    2009-12-09 20:21:00
    四个人打升级,两个人发牌,怎么发,才能保证每个人的牌数相等? 假设是甲乙丙丁四人,按逆时针顺序坐成一圈。 第一个人按照甲乙丙丁顺序逆时针发牌; 第二个人按照丁丙乙甲顺序顺时针发牌。 如此,四人...
  • 用C语言编写洗牌发牌程序,供大家参考,具体内容如下 题目 现在只有一套扑克牌中52张副牌(无大王小王),包含了4种花色牌 现在打乱顺序后分给甲乙丙丁四人 全部分配完毕后,输出甲乙丙丁四人所获得扑克大小及...
  • 开始,我们指定一位发牌员(东南西北中的一个,用英文首字母标识)开始发牌发牌顺序为顺时针,发牌员第一个不发自己,而是发他的下一个(顺时针的下一个)。这样,每个都会拿到13张牌。 现在我们定义牌的...
  • 按照斗地主的规则,完成洗牌发牌的动作。具体规则为使用 54 张牌打乱顺序,3 个玩家参与游戏,3 交替摸牌,每人 17 张牌,后 3 张留作底牌。实现思路步骤如下:准备牌:Arrylist 集合储存,for 循环遍历实现洗牌:...
  • 模拟斗地主洗牌发牌

    2020-02-17 13:56:43
    按照斗地主的规则,完成洗牌发牌的动作。 具体规则: 1. 组装54张扑克牌 2. 将54张牌顺序打乱 3. 三个玩家参与游戏,三人交替摸牌,每人17张牌,最后三张留作底牌。 4. 查看三人各自手中的牌(按照牌的...
  • 模拟斗地主发牌,牌共54张黑桃('\u2660'), 梅花('\u2663'),方块('\u2665'),红桃('\u2666')大小王WwA2-10JQK三个人玩,每个发17张牌,底牌留三张操作:输入回车: 打印第一个人17张牌输入回车: .....二..............
  • C# 发牌洗牌

    2010-09-03 13:29:10
    52张扑克牌,你可以选择洗牌的次数,洗牌后给四个玩家一人发13张,而且给出花色哦

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,768
精华内容 707
关键字:

发牌的人