实现斗地主洗牌、发牌、看牌
import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List;public class FightAgainstLandlord {public static void main(String[] args) {//准备牌HashMap<Integer, String> poker = new HashMap<>();ArrayList<Integer> pokerIndex = new ArrayList<>();List<String> colors = List.of("♠", "♥", "♣", "♦");List<String> numbers = List.of("2", "A", "K", "Q", "J", "10", "9", "8", "7", "6", "5", "4", "3");int index=0;pokerIndex.add(index);poker.put(index,"大王");index++;pokerIndex.add(index);poker.put(index,"小王");index++;for(String n:numbers){for(String c:colors){pokerIndex.add(index);poker.put(index,c+n);index++;}}System.out.print(poker);System.out.println();//洗牌 Collections.shuffle(pokerIndex);System.out.println(pokerIndex);//发牌ArrayList<Integer> player01=new ArrayList<>();ArrayList<Integer> player02=new ArrayList<>();ArrayList<Integer> player03=new ArrayList<>();ArrayList<Integer> diPai=new ArrayList<>();for(int i=0;i<pokerIndex.size();i++){if(i>=51){diPai.add(pokerIndex.get(i));}else if(i%3==0){player01.add(pokerIndex.get(i));}else if(i%3==1){player02.add(pokerIndex.get(i));}else if(i%3==2){player03.add(pokerIndex.get(i));}}Collections.sort(player01);Collections.sort(player02);Collections.sort(player03);Collections.sort(diPai);/*System.out.println(diPai);System.out.println(player01);System.out.println(player02);System.out.println(player03);*///看牌lookPoker("player01",poker,player01);lookPoker("player02",poker,player02);lookPoker("player03",poker,player03);lookPoker("diPai",poker,diPai);}public static void lookPoker(String name,HashMap<Integer,String> poker, ArrayList<Integer> list){System.out.println(name+":");for(Integer k:list){String v=poker.get(k);System.out.print(v+" ");}System.out.println();}}
转载于:https://www.cnblogs.com/reyinever/p/11116857.html
实现斗地主洗牌、发牌、看牌相关推荐
- Java实现扑克牌的洗牌发牌看牌
需求: 通过程序实现斗地主过程中的洗牌,发牌和看牌 方法一: 只看到每位用户手中的牌: 思路: 1:创建一个牌盒, 也就是定义一个集合对象,用ArrayList集合实现 2:往牌盒里面装牌 3:洗牌, ...
- 18.集合框架(Map集合,HashMap和Hashtable的区别,Collections(集合工具类),集合练习,模拟斗地主(洗牌,发牌,看牌))
1.Map集合概述和特点 1.需求: 根据学号获取学生姓名 2.Map接口概述 查看API可以知道: 将键映射到值的对象 一个映射不能包含重复的键 每个键最多只能 ...
- Java 存牌洗牌发牌看牌
package www.test1.com;import java.util.*;/*** 思路:* 存牌(HashMap)* 存下标(ArrayList)* 洗牌(洗下标)* 发牌 (TreeSet ...
- java集合框架的练习之斗地主洗牌发牌的模拟(升级版)
首先,奉上java集合框架的练习之斗地主洗牌发牌的模拟(初级版)的链接:http://blog.csdn.net/striner/article/details/78489306 初级版只具有洗牌发牌 ...
- java中Map集合、模拟斗地主洗牌发牌、JDK9对集合添加的优化
1.1 Map集合概述 Map集合概述 Map==>映射(一个对应一个) Map是一个接口,只要实现了该接口的类都是双列集合. 双列集合每次存储元素时都需要存储两个元素,一个元素称为键,一个元素 ...
- Java实现模拟斗地主洗牌发牌
按照斗地主的规则,完成洗牌发牌看牌的动作.最终结果预计为: 具体规则: 1.组装54张扑克牌 2.将54张扑克牌顺序打乱 3.三个玩家参与游戏,三人交替摸牌,每人17张,最后三张做底牌 4.查看三人手 ...
- Java实现模拟斗地主洗牌、发牌、看牌并排序
1.模拟斗地主洗牌.发牌.看牌 /* * 模拟斗地主洗牌.发牌.看牌*/package PokerDemo;import java.util.ArrayList; import java.util.C ...
- 通过程序实现斗地主过程中的洗牌,发牌和看牌(简约版)
需求:通过程序实现斗地主过程中的洗牌,发牌和看牌 思路: 创建一个牌盒,也就是定义一个集合对象,用ArrayList集合实现 往牌盒里面装牌 洗牌,也就是说把牌打撒,用Collections的shuf ...
- 1.17 项目实例:模仿斗地主洗牌发牌小游戏
实现思路步骤如下: 准备牌:Arrylist 集合储存,for 循环遍历实现 洗牌:使用 Collections 的shuffle(arryBox);方法刷新集合中的顺序 发牌:使用 for 循环遍历 ...
- 扑克牌洗牌发牌java代码_java实战(一)之Java模仿斗地主洗牌发牌小游戏
斗地主是全国范围内的一种桌面游戏,尽管全国各种类型,但大同小异.本节我们先来实现一下斗地主中的简单洗牌.发牌和看牌功能. 按照斗地主的规则,完成洗牌发牌的动作.具体规则为使用 54 张牌打乱顺序,3 ...
最新文章
- Python 获得命令行参数的方法
- android zip解压缩
- Css的filter常用濾波器屬性及語句大全
- #再一次用construct2做游戏
- VTK:几何对象之Vertex
- linux文件系统分隔符,Linux的哲学思想和文件系统
- Mock2 moco框架的http协议get方法Mock的实现
- 【渝粤题库】广东开放大学 质量管理 形成性考核 (2)
- 计算机网络——链路层之局域网
- 误删了计算机桌面回收站,我电脑回收站里的东西已经被删除几天了?怎么可以找回!谢谢...
- USB应用开发笔记之一:STM32上实现USB主机读写U盘
- 计算机图形学------空间摄像机
- 提供 web前端、H5、html页面 技术服务
- Linux下Bash编程之算术运算符详解(三)
- 用c 语言创建web项目,使用Maven创建Web应用程序项目
- c#中抽象类和接口异同
- ASP.NET农历时间显示(两)
- 领导人要读的10本管理学书籍
- c# webbrowser html5,C#设置WebBrowser IE浏览器版本
- 太厉害了!我用 Nginx 提升系统10倍性能
热门文章
- grub的boot loader安装在磁盘上的位置
- WinForm学习笔记(一)- 无边框窗体移动
- 【转载】Linux下rz,sz与ssh的配合使用
- C#编码应注意的事项
- _.findIndex(array, [predicate=_.identity], [fromIndex=0])
- 精选13款Spring Boot 优质GitHub开源项目!
- 使用Jenkins打包vue项目丢失静态资源
- win10鼠标右键拓展(使用vs Code打开)
- VS2015 更换exe的图标
- FISCO BCOS(五)———部署安装jdk1.8