扑克牌java发牌_Java实现扑克牌洗牌和发牌
本文实例为大家分享了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实现扑克牌洗牌和发牌相关推荐
- Java——集合(模拟斗地主洗牌和发牌进行排序)
//改进版,没有进行按牌的地位从小到大排序 package com.yy.test;import java.util.ArrayList; import java.util.Collections;p ...
- Java实现斗地主游戏中洗牌,发牌,牌顺序逻辑
需求: 在启动游戏房间时,应提前准备好54张牌完成洗牌,发牌,牌顺序逻辑. 分析: 1.当系统启动的同时需要准备好数据的时候,就可以用静态代码块了. 2.洗牌就是打乱牌的顺序. 3.定义三个玩家.依次 ...
- JAVA实现简单的斗地主洗牌,发牌,抢地主功能
##测试类 package doudizhu;import org.omg.CORBA.CODESET_INCOMPATIBLE;import java.util.ArrayList;import j ...
- Java中使用HashMap,TreeSet和List来实现模拟斗地主的洗牌和发牌的小例子
模拟斗地主洗牌,发牌 使用HashMap,TreeSet和List来实现 效果如下图所示: 详细实现代码如下: package star.july.tags;import java.util.Arr ...
- 编程模拟洗牌和发牌过程c语言,洗牌发牌模拟系统课程设计报告.doc
集美大学诚毅学院 <高级语言程序设计>课程设计 实验报告 题目:洗牌和发牌模拟 专业:计算机科学与技术 班级: 姓名: 成绩: 指导教师: 完成日期:2008 年 6月 26 日 一.目的 ...
- JAVA控制台扑克牌游戏,洗牌,发牌,比较大小
此游戏是一个简单的并且很基础的java控制台程序.这个扑克牌游戏主要的游戏过程是:首先创建一副扑克牌,创建好了后要进行洗牌,牌洗好了,需要玩家来玩,接下来就创建玩家.有洗好的牌,也有玩家了,那么就开始 ...
- java洗牌_java语言实现简单的洗牌,发牌
packagecom.java.lei.homework;importjava.util.Arrays;importjava.util.Random;public classPokerGame {// ...
- 洗牌、发牌算法 (打乱扑克牌顺序)
#include <stdio.h> #include <stdlib.h> #include <time.h> int d[6]; int i,n,a,b ...
- 发扑克牌java程序_Java实现简易扑克牌游戏
功能描述 1.创建扑克牌.包括四种花色(黑桃,红心,梅花,方块),十三种点数(2-10,J,Q,K),不考虑大小王. 2.创建两个玩家.包括玩家id.姓名.手牌等集合,手牌为扑克牌的集合. 3.洗牌. ...
- Java斗地主算法的设计与实现_斗地主算法的设计与实现–洗牌和发牌
本篇将给出斗地主算法的源码,介绍斗地主这个项目的一些基本情况. 下载地址:http://download.csdn.net/detail/fansunion/6387589 特别说明:斗地主项目的主要 ...
最新文章
- springboot的yml自定义值的笔记
- oracle instr查询字符串
- mysql外部排序_深入浅出MySQL优先队列(你一定会踩到的order by limit 问题)
- java内存分配模型优点_高并发实战(二)-并发基础 缓存 MESI 内存模型
- mysql5.7.17完全卸载_MySQL5.7完全卸载步骤详解
- 微擎 php开发手册,目录结构
- 鸿蒙OS的指纹储存在哪里,鸿蒙OS发布以后,我们去哪里学习?
- python下载特别慢-Python3 用 urllib 下载图片非常慢,会是什么原因呢?
- 如何使用JavaScript 结合XSLT转换XML文档
- JavaScript—— 常见网页特效
- 一个静态路由配置实例(eNSP)
- POS机全国产化电子元件推荐方案
- asp.net基于net的体检信息管理系统-计算机毕业设计
- 超声成像发射声场仿真(Ultrasound Emit Field Simulation)
- 前后端鉴权之session-cookie
- 用Python做一个变态版的《超级玛丽》游戏
- ngx-markdown 安装和使用
- Python调用百度AI识别身份证
- wps控件属性怎么用_WPS演示中插件功能及使用方法
- win10下装win7双系统_Win10用不惯?试试Win10加Win7双系统吧