本文实例为大家分享了Java实现扑克牌洗牌发牌的具体代码,供大家参考,具体内容如下

实现原理:使用4种花色和13个数字组合成52张牌,放进一个集合中;通过把集合数据排序打乱实现洗牌操作,然后在通过循环把牌抽出来实现发牌操作。

下面是实现代码:

import java.util.ArrayList;

import java.util.Collections;

public class Card {

private static ArrayList list = new ArrayList<>();

private static String[] colors = {"黑桃","红桃","梅花","方块"};

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

private static String[] jokers = {"Joker","joker"}; //大小王

private static ArrayList A = new ArrayList<>(); //小人A

private static ArrayList B = new ArrayList<>(); //小人B

private static ArrayList C = new ArrayList<>(); //小人C

private static ArrayList D = new ArrayList<>(); //小人D

//初始化扑克牌

public static void initCards(boolean need){

for(String color:colors){

for (String num:nums) {

list.add(color + num);

}

}

//是否添加大小王

if (need) {

list.add(jokers[0]);

list.add(jokers[1]);

}

}

//洗牌

public static void xiPai(){

Collections.shuffle(list);

}

//性感荷官,在线发牌

public static void faPai(){

A.clear();

B.clear();

C.clear();

D.clear();

for (int i = 0; i < list.size();i++) {

if (i%4 == 0) {

A.add(list.get(i));

}

if (i%4 == 1) {

B.add(list.get(i));

}

if (i%4 == 2) {

C.add(list.get(i));

}

if (i%4 == 3) {

D.add(list.get(i));

}

}

}

//主方法

public static void main(String args[]){

initCards(true);

xiPai();

faPai();

System.out.print("小人A" + A + "\n");

System.out.print("小人B" + B + "\n");

System.out.print("小人C" + C + "\n");

System.out.print("小人D" + D + "\n");

}

}

下面是运行结果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

扑克牌java发牌_Java实现扑克牌洗牌和发牌相关推荐

  1. Java——集合(模拟斗地主洗牌和发牌进行排序)

    //改进版,没有进行按牌的地位从小到大排序 package com.yy.test;import java.util.ArrayList; import java.util.Collections;p ...

  2. Java实现斗地主游戏中洗牌,发牌,牌顺序逻辑

    需求: 在启动游戏房间时,应提前准备好54张牌完成洗牌,发牌,牌顺序逻辑. 分析: 1.当系统启动的同时需要准备好数据的时候,就可以用静态代码块了. 2.洗牌就是打乱牌的顺序. 3.定义三个玩家.依次 ...

  3. JAVA实现简单的斗地主洗牌,发牌,抢地主功能

    ##测试类 package doudizhu;import org.omg.CORBA.CODESET_INCOMPATIBLE;import java.util.ArrayList;import j ...

  4. Java中使用HashMap,TreeSet和List来实现模拟斗地主的洗牌和发牌的小例子

    模拟斗地主洗牌,发牌  使用HashMap,TreeSet和List来实现 效果如下图所示: 详细实现代码如下: package star.july.tags;import java.util.Arr ...

  5. 编程模拟洗牌和发牌过程c语言,洗牌发牌模拟系统课程设计报告.doc

    集美大学诚毅学院 <高级语言程序设计>课程设计 实验报告 题目:洗牌和发牌模拟 专业:计算机科学与技术 班级: 姓名: 成绩: 指导教师: 完成日期:2008 年 6月 26 日 一.目的 ...

  6. JAVA控制台扑克牌游戏,洗牌,发牌,比较大小

    此游戏是一个简单的并且很基础的java控制台程序.这个扑克牌游戏主要的游戏过程是:首先创建一副扑克牌,创建好了后要进行洗牌,牌洗好了,需要玩家来玩,接下来就创建玩家.有洗好的牌,也有玩家了,那么就开始 ...

  7. java洗牌_java语言实现简单的洗牌,发牌

    packagecom.java.lei.homework;importjava.util.Arrays;importjava.util.Random;public classPokerGame {// ...

  8. 洗牌、发牌算法 (打乱扑克牌顺序)

      #include <stdio.h> #include <stdlib.h> #include <time.h> int  d[6]; int  i,n,a,b ...

  9. 发扑克牌java程序_Java实现简易扑克牌游戏

    功能描述 1.创建扑克牌.包括四种花色(黑桃,红心,梅花,方块),十三种点数(2-10,J,Q,K),不考虑大小王. 2.创建两个玩家.包括玩家id.姓名.手牌等集合,手牌为扑克牌的集合. 3.洗牌. ...

  10. Java斗地主算法的设计与实现_斗地主算法的设计与实现–洗牌和发牌

    本篇将给出斗地主算法的源码,介绍斗地主这个项目的一些基本情况. 下载地址:http://download.csdn.net/detail/fansunion/6387589 特别说明:斗地主项目的主要 ...

最新文章

  1. springboot的yml自定义值的笔记
  2. oracle instr查询字符串
  3. mysql外部排序_深入浅出MySQL优先队列(你一定会踩到的order by limit 问题)
  4. java内存分配模型优点_高并发实战(二)-并发基础 缓存 MESI 内存模型
  5. mysql5.7.17完全卸载_MySQL5.7完全卸载步骤详解
  6. 微擎 php开发手册,目录结构
  7. 鸿蒙OS的指纹储存在哪里,鸿蒙OS发布以后,我们去哪里学习?
  8. python下载特别慢-Python3 用 urllib 下载图片非常慢,会是什么原因呢?
  9. 如何使用JavaScript 结合XSLT转换XML文档
  10. JavaScript—— 常见网页特效
  11. 一个静态路由配置实例(eNSP)
  12. POS机全国产化电子元件推荐方案
  13. asp.net基于net的体检信息管理系统-计算机毕业设计
  14. 超声成像发射声场仿真(Ultrasound Emit Field Simulation)
  15. 前后端鉴权之session-cookie
  16. 用Python做一个变态版的《超级玛丽》游戏
  17. ngx-markdown 安装和使用
  18. Python调用百度AI识别身份证
  19. wps控件属性怎么用_WPS演示中插件功能及使用方法
  20. win10下装win7双系统_Win10用不惯?试试Win10加Win7双系统吧

热门文章

  1. labview 游戏 打地鼠
  2. 数据结构队列算法——模拟病人在医院等待就诊过程
  3. C++-求积分(面积)
  4. 服务器被攻击了怎么办
  5. 设计高效的交叉功率因数校正方案
  6. Netatalk CVE-2018-1160的发现与利用
  7. 手机黑圆点怎么打_输入法:外国人名字中间的点(实心小黑点)怎么打出来?...
  8. 微信小程序:搜索关键词,显示地图列表
  9. Odoo发邮件被服务器退回
  10. 利用Email包实现邮件的群收发功能