/**

*这是一个java实现的斗地主,发牌结果的程序,实现3个人十三张牌,然后底牌3张。

*/

import java.util.Arrays;

public class pokerDemo{

public static void main(String[] args) {

/*生成一副牌的数字,简称牌库*/

int[]pkCode=new int[54];

for(int i=0;i<54;i++){

pkCode[i]=i;

}

/*花色*/

String[]color={"方","梅","红","黑"};

/*数字*/

String[]num={"3","4","5","6","7","8","9","10","J","Q","K","A","2"};

/*生成数组实现空的54个位置,存放随机洗牌后的牌,简称牌位*/

int[]pk=new int[54];

for(int i=0;i

/*随机生成数字*/

int index=(int)(Math.random()*(pk.length-i));

/*将生成的下标对应的牌存入54个空牌位。然后将原来牌库中拿到的牌移除,并重新洗牌*/

pk[i]=pkCode[index];

remove(pkCode,index);

}

/*生成三个用户以及底牌三张*/

int[]pk1=new int[17];

int[]pk2=new int[17];

int[]pk3=new int[17];

int[]dz=new int[3];

/*将得到的牌拷贝倒数组当中 ,用于排列*/

System.arraycopy(pk, 0, pk1, 0, 17);

System.arraycopy(pk, 17, pk2, 0, 17);

System.arraycopy(pk, 34, pk3, 0, 17);

System.arraycopy(pk, 51, dz, 0,3);

sort(pk1);

sort(pk2);

sort(pk3);

sort(dz);

/*声明最后存放牌结果的数组*/

String []pk1Char = new String[17];

String []pk2Char = new String[17];

String []pk3Char = new String[17];

String []dzChar = new String[3];

/*调用花色生成方法,并复制结果到最后的结果String 数组当中*/

copy(pk1,pk1Char,color,num);

copy(pk2,pk2Char,color,num);

copy(pk3,pk3Char,color,num);

copy(dz,dzChar,color,num);

/*打印输出结果*/

System.out.println(Arrays.toString(pk1Char));

System.out.println(Arrays.toString(pk2Char));

System.out.println(Arrays.toString(pk3Char));

System.out.println(Arrays.toString(dzChar));

}

/*排序*/

public static void sort(int[]a){

for(int i=1;i

for(int j=0;j

if(a[j]

int temp=a[j];

a[j]=a[i];

a[i]=temp;

}

}

}

}

/*移除,从牌库中移除随机生成后牌*/

public static void remove(int[]a,int index){

for(int i=index;i

a[i]=a[i+1];

}

}

/*生成花色,复制到最后的发牌结果中*/

public static void copy(int[]a,String[]d

,String[]color,String[]num){

for(int i=0;i

int index=a[i];

/*53张为小王*/

if(index==52)d[i]="小王";

/*54张为大王*/

else if(index==53)d[i]="大王";

else{

/*花色根据下标对4取余的结果来得到四种花色中的随机值*/

d[i]=color[index%4]+num[index/4];

}

}

}

}

java斗地主发牌_实现斗地主发牌(java)相关推荐

  1. java python算法_用Python,Java和C ++示例解释的排序算法

    java python算法 什么是排序算法? (What is a Sorting Algorithm?) Sorting algorithms are a set of instructions t ...

  2. java 判断类型_如何快速入门Java编程学习(干货)

    一.初识Java 1.生活中的程序: 从起床到教室上课的过程 穿衣打扮>起床>洗漱>出宿舍>>吃早餐>到教室 按照特定的顺序去完成某一件事的过程我们叫做生活中的程序 ...

  3. 支持java虚拟主机_为何缺乏支持Java的虚拟主机

    现在很多站长们,都青睐于香港虚拟主机建站.现在常见的是asp和PHP的程序空间很多,但是Java的少之又少,下面小编我给大家聊一聊! 一.香港Java虚拟主机成本高 使用Java程序建站,就必须要用支 ...

  4. 做Java头发少_这35个Java代码优化细节,你用了吗

    链接:https://www.jianshu.com/p/6e472304b5ac 前言 代码 优化 ,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有 ...

  5. 我的世java途径错误_我的世界JAVA路径错误的解决方法分享

    我的世界JAVA路径错误该怎么解决呢?JAVA是Minecraft运行的虚拟环境必要条件,需要您安装后才开始游戏.很多童鞋在安装过程中都遇到了JAVA路径错误的提示,这是什么原因导致的?第一手游网必须 ...

  6. java编程赋值运算符_跟我学java编程—简单赋值运算符“=”

    赋值运算符是双目运算符,用在赋值表达式中.赋值运算符将值存储在运算符左边操作数指定的变量中.有两种赋值操作,简单赋值和复合赋值,简单赋值把运算符右边的操作数的值存储在运算符左边操作数指定的变量中:复合 ...

  7. java session使用_使用Neo4j和Java进行大数据分析 第2部分

    本文的第一部分介绍了Neo4j及其Cypher查询语言.如果您已经阅读了第1部分,那么您已经了解了为什么Neo4j和其他图形数据库特别受社交图形或网络中用户之间关系建模的影响.您还在开发环境中安装了N ...

  8. java 异常信息_优雅的异常处理 -- Java中的异常

    处理异常自己处理 try-catch抛出让别人处理 throws 获得异常信息 直接打印异常对象 通过异常对象调用getMessage()方法获得 通过异常对象调用printStackTrace()方 ...

  9. java基础知识点_零基础学习Java语言,各个阶段需要掌握的知识点

    随社会的脚步的不断发展,Java技术在不断的与时俱进,这也是Java一直长盛不衰的原因之一.Java技术的学习,永远没有早晚之分,技不压身,对于21世纪的我们80后,90后,甚至00后,尤其适用! 那 ...

  10. java类加载过程_面试官:java类的加载过程

    Java 类加载机制 类从被加载到JVM中开始,到卸载为止,整个生命周期包括:加载.验证.准备.解析.初始化.使用和卸载七个阶段. 其中类加载过程包括加载.验证.准备.解析和初始化五个阶段. 类的加载 ...

最新文章

  1. Python 超简单3行代码提取音乐高潮部分
  2. web框架flask(4)——数据库
  3. HDOJ - 4474 简单分析后,BFS
  4. cad2016中选择全图字体怎么操作_LOL无限火力凯隐全图W技能BUG怎么卡 无限火力凯隐全图W技能BUG卡法介绍...
  5. 分区partition是否只保存一部分数据?
  6. 牛客网【每日一题】4月22日 K-th Number
  7. IE自动弹出窗口(JS/TrojanDownloader.Iframe.NDR 木马查杀)故障解决
  8. vant 项目_基于 vue3.x+vant3.x 搭建示例项目
  9. php ajax怎么拿id,php ajax无刷新分页,支持id定位
  10. 国家企业信用信息公示系统爬取
  11. LCD屏的驱动芯片注意事项
  12. 磁盘blk_update_request: I/O error
  13. android平台的oa系统架构,基于Android的移动OA办公系统的设计与实现
  14. 互联通对接阿里云专线开通手册
  15. 雅思备考-口语词组积累-第二章
  16. 金仓数据库KingbaseES之libpq通过服务名连接数据库
  17. 图片中添加箭头【使用PPT实现】
  18. 【C++】利用DFS求解水洼数目问题
  19. android高德地图后台运行,Android手把手教你集成高德地图
  20. 网络大厂与加州大学分校开发出Actor-Critic算法

热门文章

  1. ESXI自动关机 ping值检测关机脚本
  2. java心电图_使用原生js+canvas实现模拟心电图
  3. MHA binlogserver
  4. NXP 公司的 RFID 卡
  5. 记录为了使用Wechaty安装docker 中的一些问题
  6. tcp/ip协议包含哪几层[转]
  7. 关于Oculus无法下载应用:(OVR40779122) 的解决方案
  8. pytorch的transform中ToTensor接着Normalize
  9. Android逆向:去除RE管理器4.41及车来了广告
  10. 【工具篇】java导入excel工具类,简单通用,绝对值得你收藏