java-斗地主无界面有序版
package 斗地主;
import java.util.*;
/*** 有序版本* 1.准备牌* 2.洗牌* 3.发牌* 4.排序* 5.看牌* */
public class Pak2 {public static void main(String[] args) {//1.准备牌//创建一 个Map集合, 存储牌的索引和组装好的牌HashMap<Integer,String> poker = new HashMap<>( );//创建一 个List集合,存储牌的索引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;poker.put(index , "大王");pokerIndex.add(index);index++;poker.put(index , "小王");pokerIndex.add(index);index++;//循环嵌套遍历两个集合,组装52张牌,储存到集合中for(String number : numbers){for(String color : colors){poker.put(index , color+number);pokerIndex.add(index);index++;}}//2.洗牌//使用Collections中的shuffle(List)方法Collections.shuffle(pokerIndex);//3.发牌//定义4个集合,储存玩家的索引和底牌索引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++){int in = pokerIndex.get(i);if(i >= 51){dipai.add(in);}else if(i % 3 == 0){player01.add(in);}else if (i % 3 == 1){player02.add(in);}else {player03.add(in);}}//4.排序//使用Collections中的sort方法Collections.sort(player01);Collections.sort(player02);Collections.sort(player03);Collections.sort(dipai);lookPoker("黄老怪" , poker , player01);lookPoker("蔡老怪" , poker , player02);lookPoker("赵老怪" , poker , player03);lookPoker("底牌" , poker , dipai);}/*** 定义一个看牌的方法* 参数:* String name* HashMap<Integer , String> poker* ArrayList<Integer> list* */public static void lookPoker(String name , HashMap<Integer , String> poker , ArrayList<Integer> player){//输出玩家System.out.print(name+": ");Iterator<Integer> indexs = player.iterator();while(indexs.hasNext()){System.out.print(poker.get(indexs.next()) + ",");}System.out.println();}}
java-斗地主无界面有序版相关推荐
- Java斗地主小游戏有序版
题目 斗地主综合案例:有序版 1.准备牌:大王小王 52张牌:循环嵌套遍历两个集合,组装52张牌 可以使用Map<Integer,String>集合储存牌的索引+组装好的牌.创建一个Lis ...
- java游戏斗地主_Java斗地主小游戏有序版
斗地主综合案例:有序版 1.准备牌:大王小王 52张牌:循环嵌套遍历两个集合,组装52张牌 可以使用Map集合储存牌的索引+组装好的牌.创建一个List集合存储牌的索引 2.洗牌:使用Collecti ...
- java浏览器无界面后台截屏工具
不同于上一篇文章中所讲到的通过客户端浏览器将 HTML 转 canvas 再生成图片的方式,本次记录的内容为服务器端(Windows Server)截屏工具.该工具特点为:通过 java 代码调用无界 ...
- java WebDriver + selenium 调用 谷歌驱动 chromedriver 实现 在 liunx 环境下 无界面 截图 加自动获取页面最大真实页面内容高宽 加各类型踩坑日记
目录 1.介绍 2.结果效果 2.1大图 2.2细节小图 3.依赖 4.代码 4.1引入 4.2具体代码 4.3执行 5.Linux下安装chrome和chromedriver 5.1yum安装 5. ...
- python实现冒险者游戏(文字版,无界面)
冒险者游戏 1.总体框架 1.1 实体关系图 E-R图 1.2 活动流程图 2 具体模块: 2.1 实体bean类 (1) 冒险者adventurer (2) 背包Inventory (3) 物品It ...
- java无锁数据结构,无锁有序链表的实现
感谢同事[kevinlynx]在本站发表此文 无锁有序链表可以保证元素的唯一性,使其可用于哈希表的桶,甚至直接作为一个效率不那么高的map.普通链表的无锁实现相对简单点,因为插入元素可以在表头插,而有 ...
- 尽信书,不如无书。java的包装类Integer的深入理解及特殊情况(以及java疯狂讲义第5版170页中的错误)
1.通常情况下,两个包装类型只有在两个引用指向同一对象时,使用 == 进行比较时才会返回true 例如: Double do1 = Double.valueOf(1.23); Double do2 = ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- Java图形化界面设计——容器(JFrame)
Java图形化界面设计--容器(JFrame) 程序是为了方便用户使用的,因此实现图形化界面的程序编写是所有编程语言发展的必然趋势,在命令提示符下运行的程序可以让我们了解java程序的基本知识体系结构 ...
最新文章
- Redhat5.4 系统上部署 MooseFS分布式文件系统的部署
- Android插件化开发之动态加载的类型
- 3299元起!结缘梅奔F1车队,Redmi K50电竞版发布
- 1.1 STL 概述
- HDU1754 —— I Hate It 线段树 单点修改及区间最大值
- 天梯—打印沙漏以及剩余个数(C语言)
- 几种常见的基于Lucene的开源搜索解决方案对比
- Redis 中的事件驱动模型
- ios上java代码实现_IOS学习之路五(代码实现UITableView)
- 安卓beforetextchanged_Android TextWatcher.afterTextChanged与TextWatcher
- python网课答案查询_网课答案查询助手v1.0
- 蓝桥杯等差素数列-python
- 多目标跟踪之数据关联算法——匈牙利算法
- 【CSDN问答】关于CSDN问答社区的那些事儿
- 数学运算符号的英文表达
- 查看当前Ubuntu系统的版本
- ChatGPT提示词工程(六):Expanding扩展
- Windows10安装Markdown安装教程(超级详细)
- C#用IIS发布网站后localhost打不开127.0.0.1可以打开
- EDA-什么是综合?什么是适配?
热门文章
- SQL UCASE() 函数
- 向上滚动 终端_终端 - 如何在Linux控制台上向上/向下滚动?
- Unity 获取文件夹下所有文件夹/文件
- 未来机器人生活的畅享之旅
- 使用纸壳CMS创建多语言网站
- grpc双向流 python_gRPC Golang/Python使用
- Python 手机端自动推送功能(利用极光推送API)
- 生活总结[置顶] 程序员的奋斗史(十八)——人活着,只是一种态度
- asp.net动态网页制作视频教程
- xml引入xml_XML Watch,蠕虫的哔哔声