package zyr.doudizhu;/*
* 54张牌 3个玩家  没人17张牌  最后3张留作底牌
* 1准备牌
* 2洗牌
* 3发牌
* 4看牌
* */import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;public class Doudizhu {public static void main(String[] args) {//1准备牌子//定义一个存储54牌的arraylist 泛型用stringArrayList<String>  porker = new ArrayList<>();//定义2个数组 一个存储花色了另一个存储数字号码String[] color = {"♠","♥","♣","♦"};String[] nums = {"2","1","K","Q","J","10","9","8","7","6","5","4","3"};//先存储进去大王小王porker.add("大王");porker.add("小王");//遍历然后把牌放进去for(String col:color){for(String num:nums){porker.add(col+num);}}//洗牌Collections.shuffle(porker);//        for (String sb:porker){
//
//            System.out.println(sb);
//        }//发牌//定义4个结合 存储玩家的牌和底牌ArrayList<String> player01 = new ArrayList<>();ArrayList<String> player02 = new ArrayList<>();ArrayList<String> player03 = new ArrayList<>();ArrayList<String> dipai = new ArrayList<>();for(int i=0;i<porker.size();i++){//获取每一张牌String  p = porker.get(i);if (i>=51){dipai.add(p);}else{if(i%3==0){player01.add(p);}else if(i%3==1){player02.add(p);}else{player03.add(p);}}}//展示牌show(player01,"玩家1");show(player02,"玩家2");show(player03,"玩家3");show(dipai,"底牌");//java的arraylist 可以直接输出System.out.println("玩家1"+player01);System.out.println("玩家2"+player02);System.out.println("玩家3"+player03);System.out.println("底牌"+dipai);}private static void  show(ArrayList<String> arr,String name){for(String pai:arr){System.out.println(name+pai);}System.out.println("=================");}
}

输入结果如下

D:\jdk9\bin\java "-javaagent:D:\javaidea\IntelliJ IDEA 2017.3.4\lib\idea_rt.jar=11366:D:\javaidea\IntelliJ IDEA 2017.3.4\bin" -Dfile.encoding=UTF-8 -classpath D:\javacode\out\test\day01;D:\javacode\out\production\day01 zyr.doudizhu.Doudizhu
玩家1♥7
玩家1♥3
玩家1♦7
玩家1♣6
玩家1♠J
玩家1♥4
玩家1♣1
玩家1♣3
玩家1♦4
玩家1♦8
玩家1♥10
玩家1♥8
玩家1♠K
玩家1♣5
玩家1♠Q
玩家1♦Q
玩家1♦9
=================
玩家2♥K
玩家2♠2
玩家2♥2
玩家2♠7
玩家2♠10
玩家2♥1
玩家2♣J
玩家2♠5
玩家2♣2
玩家2♦J
玩家2♥Q
玩家2♣10
玩家2♠3
玩家2♠4
玩家2♣9
玩家2♣4
玩家2♦1
=================
玩家3♣K
玩家3♥J
玩家3♣Q
玩家3小王
玩家3大王
玩家3♦10
玩家3♦2
玩家3♠6
玩家3♥6
玩家3♠1
玩家3♦6
玩家3♦5
玩家3♣8
玩家3♦3
玩家3♥9
玩家3♥5
玩家3♠9
=================
底牌♣7
底牌♦K
底牌♠8
=================
玩家1[♥7, ♥3, ♦7, ♣6, ♠J, ♥4, ♣1, ♣3, ♦4, ♦8, ♥10, ♥8, ♠K, ♣5, ♠Q, ♦Q, ♦9]
玩家2[♥K, ♠2, ♥2, ♠7, ♠10, ♥1, ♣J, ♠5, ♣2, ♦J, ♥Q, ♣10, ♠3, ♠4, ♣9, ♣4, ♦1]
玩家3[♣K, ♥J, ♣Q, 小王, 大王, ♦10, ♦2, ♠6, ♥6, ♠1, ♦6, ♦5, ♣8, ♦3, ♥9, ♥5, ♠9]
底牌[♣7, ♦K, ♠8]

java 斗地主 案例相关推荐

  1. JAVA斗地主案例(单列)

    JAVA斗地主案例(单列) 一.案例分析 二.代码实现 一.案例分析 准备牌 扑克牌:54张 特殊派:大王,小王 花色:"♥","♠","♣" ...

  2. Java(斗地主案例)

    斗地主案例的需求分析 斗地主案例的代码实现 package com.itheima.demo04.Test;import java.util.ArrayList; import java.util.C ...

  3. java斗地主案例,没有界面

    import java.util.ArrayList; import java.util.Collections; public class Duodizhu { /* 准备牌 定义一个放52张牌的集 ...

  4. 斗地主 java思路_使用Java实现简单的斗地主案例

    使用Java实现简单的斗地主案例 案例说明:使用Java实现简单的斗地主洗牌发牌的操作: 具体规则: 共有54张牌,顺序打乱: 三个玩家参与游戏,三人交替摸牌,每人17张牌,最后留三张为底牌(地主牌) ...

  5. Java实现简单的斗地主案例(超详细代码)

    案例说明:使用Java实现简单的斗地主洗牌发牌的操作 具体规则: 共有54张牌,顺序打乱: 三个玩家参与游戏,三人交替摸牌,每人17张牌,最后留三张为底牌(地主牌). 源码实现: /** 斗地主案例: ...

  6. java基础-Map集合、Collections集合、斗地主案例

    1.Map集合 1.1Map集合概述和特点 Map集合概述 interface Map<K,V> K:键的类型:V:值的类型 Map集合的特点 (1)键值对映射关系 (2)一个键对应一个值 ...

  7. string转map集合_Map、斗地主案例

    一.Map方法 import java.util.HashMap; import java.util.Map; public class Demo01 {public static void main ...

  8. Map案例总结-斗地主案例

    Map案例总结-斗地主案例 Map集合元素是成对存在,每个元素分为键和值两部分,合在一起则称"键值对".     Map斗地主这个案例用HashMap集合将54张扑克牌存储,然后随 ...

  9. 代码检查规则:Java语言案例详解

    本节课程为<代码检查规则:Java语言案例详解>, 通常情况下Java的代码检查规则可以分为以下十类: 接下来,让我们具体来看看每个分类的内容. 一.源文件规范 该类规范主要从文件名.文件 ...

最新文章

  1. 【VMCloud云平台】SCAP(四)连接公有云(一)
  2. python命令行参数处理
  3. 钉钉产品介绍_钉钉上线安全教育新功能家校联动护航学生暑期安全
  4. 重磅公开!36个高考数学破题大招
  5. 耗时1周!精选22G超超超适合产品经理的《数据分析》学习资源,抓紧保存!限时2天删除~...
  6. Python采集知乎小姐姐图片,打造颜颜值排行榜!
  7. MySQL数据库---(1)win10 免安装MySQL 教程
  8. ios12上滑关闭程序动画_苹果iOS 12.3正式版发布:上滑清除程序动画重新回归
  9. 基于JAVA+SpringMVC+Mybatis+MYSQL的药方中医管理系统
  10. 820. 单词的压缩编码
  11. Kubernetes中Secret使用详解
  12. calendar获取本周一的日期_Java日期时间API系列1-----Jdk7及以前的日期时间类
  13. 解析OA系统易用性的价值和意义
  14. 图像处理之图像质量评价指标PSNR(峰值信噪比)
  15. C# 扫描识别图片中的文字(.NET Framework)
  16. 服务器虚拟化的毕业设计,虚拟化技术毕业论文题目精选
  17. qtdesigner添加菜单栏工具栏及监听事件
  18. Invalid handle returned
  19. 官方确认索尼PS5创史上最佳首发记录 国行版可能要2021年见
  20. php获取星座对应的日期,获取生日对应星座的PHP函数

热门文章

  1. 集成学习——NGBoost论文研读与原理理解
  2. 给 Sublime Text3 添加右键菜单
  3. Hadoop环境的配置搭建和基本概念
  4. git log 提交日志及图形化显示
  5. getAttribute和getParameter的区别
  6. 牙齿间隙变大怎么办_牙齿缝隙大怎么办 5个方法解决牙齿缝隙大
  7. es管理器免root_OPPO手机免ROOT更换系统字体教程-适合大部分OPPO机型
  8. 的称重在哪里_如何申请条形码,条形码在哪里申请办理
  9. ct上的img表示什么_工业CT检测的精度
  10. 计算机网络中流的定义,计算机网络的基本概念-Read.PPT