import java.util.ArrayList;
import java.util.Collections;

public class Duodizhu {
/*
准备牌
定义一个放52张牌的集合,定义2个数组,一个放花色,一个放牌号,
大王小王要特殊定义
/
public static void main(String[] args) {
ArrayList list=new ArrayList<>();
String[] color={“♠”,“♦”,“♣”,“♥”,};
String[] num={“2”,“A”,“K”,“Q”,“J”,“10”,“9”,“8”,“7”,“6”,“5”,“4”,“3”};
list.add(“大王”);
list.add(“小王”);
//花色与牌号进行组合
for(String colors:color){
for (String numpai:num){
list.add(colors+numpai);
}
}
//System.out.println(list);//查看是否正确
/

洗牌
通过集合工具类collections的方法进行集合随机排序
/
Collections.shuffle(list);
//System.out.println(list);//查看是否洗牌
/

发牌
定义4个集合,3个集合用来放3个玩家的手牌,最后一个集合用来放3张底牌
通过list的集合索引(就是总牌数)%3 得到0 1 2 0 1 2(for循环遍历),所以当得出0时,发给第一个玩家
得出1时,给第二个玩家,2时给第三个玩家。注意要留底牌,所以当i>=51时给底牌发牌
*/
ArrayList play1=new ArrayList<>();
ArrayList play2=new ArrayList<>();
ArrayList play3=new ArrayList<>();
ArrayList dipai=new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
if (i>=51){
dipai.add(list.get(i));
}else if(i%30) {
play1.add(list.get(i));
}else if(i%31) {
play2.add(list.get(i));
}else if(i%3==2) {
play3.add(list.get(i));
}

    }//看牌System.out.println("一号"+play1);System.out.println("二号"+play2);System.out.println("三号"+play3);System.out.println("底牌"+dipai);
}

}

java斗地主案例,没有界面相关推荐

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

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

  2. Java(斗地主案例)

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

  3. java 斗地主 案例

    package zyr.doudizhu;/* * 54张牌 3个玩家 没人17张牌 最后3张留作底牌 * 1准备牌 * 2洗牌 * 3发牌 * 4看牌 * */import java.util.Ar ...

  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. java进阶案例下载_java进阶案例

    java进阶案例: 数据类型,字符,数值,范围,布尔 :byte -128~127. 面向对象:protect :重载与构造 (一). this封装:static:继承:多态: 1.方法覆盖:supe ...

  9. JAVA Swing 图形化界面编程

    JAVA Swing 图形化界面编程 目录 1.组件 1.1 基本组件 1.2. 组件边框 1.3. JToolBar 工具条 1.4 JColorChooser 颜色选择器 1.5 JFileCho ...

最新文章

  1. java.lang.OutOfMemoryError: Java heap space的解决办法
  2. 利用被入侵的路由器迈入内网——抓包,利用路由器漏洞入侵,进行流量劫持...
  3. opt文件夹下没有ros_ubuntu16.04下ROS操作系统学习笔记(二)
  4. VTK:Rendering之WalkCow
  5. python内置数据结构字符串
  6. SLAM: Ubuntu14.04_Kylin安装ROS-Indigo
  7. python3转码python2_python2写的代码移植到python3后无法转码成中文文本,请大神指教,谢谢~...
  8. 锁和并发性----隔离级别
  9. 计算机安装最新的安全补丁,Win10不要装!微软发布4月安全补丁合集
  10. php网址图片怎么转based4,Ionic4 Base64 转化成图片插件-Base64 转化成图片Base64 To Gallery - Ionic Native...
  11. Python中的音频和数字信号处理(DSP)
  12. 得具备点靠钱赚钱的能力
  13. 随机信号分析学习笔记(5)
  14. Structs框架原理
  15. 科研工作者要会的技能----查找顶刊会议或期刊的方法
  16. wps打印预览工具栏消失_在WPS电子表格中看不到打印预览怎么办?
  17. 身份证中出生年月的提取
  18. OpenCV+Mediapipe人物动作捕捉与Unity引擎的结合
  19. AlphaSSL证书和GlobalSign SSL证书介绍
  20. 卷积神经网络理解(一):滤波器的意义

热门文章

  1. 利用samba漏洞入侵linux主机(samba低版本漏洞利用)
  2. 浏览器 重定向次数限制_浏览器重定向(302)限制问题
  3. springboot+vue幼儿园管理系统(源码+文档)
  4. 计算机if语句翻译,5.4.1 if 语句的翻译
  5. 路由交换技术一二章总结
  6. 进入微信后提示用浏览器打开
  7. 20多份软件测试报告模板(标准版)一份优秀测试报告模板流程
  8. Xilinx ZYNQ开发板资料共享
  9. python生成ppt图表_使用Python从Excel到PowerPoint的图表
  10. 想开服,又没有技术怎么办?传奇开服技术要学多久?开服技术好学吗