当前位置: 首页 > 编程日记 > 正文

在?三缺一,来斗个地主——肝个斗地主案例(java)

在?三缺一,来斗个地主

*手动狗头 *

  • 模拟斗地主升级版,通过程序实现斗地主过程中的洗牌、发牌和看牌,要求:对牌进行排序

    • 思路:
      1.创建HashMap,键是编号,值是牌
      2.创建ArrayList,存储编号
      3.创建花色数组和点数数组
      4.从0开始往HashMap里面存储编号,并存储对应的牌。同时往ArrayList里面存储编号
      5.洗牌(洗的是编号),用Collections的shuffle()方法去实现
      6.发牌(发的也是编号,为了保证编号是排序的,创建TreeSet集合接收)
      7.定义方法看牌(遍历TreeSet集合,获取编号,到HashMap集合找对应的牌)
      8.调用看牌方法
package king03;import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.TreeSet;public class PokerProDemo {public static void main(String[] args) {
//        创建HashMap,键是编号,值是牌HashMap<Integer, String> hm = new HashMap<Integer, String>();
//        创建ArrayList,存储编号ArrayList<Integer> array = new ArrayList<Integer>();//        创建花色数组和点数数组String[] colors = {"◆", "♠", "♥", "♣"};String[] numbers = {"3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "2"};//        从0开始往HashMap里面存储编号,并存储对应的牌。同时往ArrayList里面存储编号int index = 0;for (String number : numbers) {for (String color : colors) {hm.put(index, color + number);array.add(index);index++;}}hm.put(index, "小王");array.add(index);index++;hm.put(index, "小王");array.add(index);//        洗牌(洗的是编号),用Collections的shuffle()方法去实现Collections.shuffle(array);//        发牌(发的也是编号,为了保证编号是排序的,创建TreeSet集合接收)TreeSet<Integer> xmSet = new TreeSet<Integer>();TreeSet<Integer> xhSet = new TreeSet<>();TreeSet<Integer> wkSet = new TreeSet<>();TreeSet<Integer> dpSet = new TreeSet<>();for (int i = 0; i < array.size(); i++) {int x = array.get(i);if (i >= array.size() - 3) {dpSet.add(x);} else if (i % 3 == 0) {xmSet.add(x);} else if (i % 3 == 1) {xhSet.add(x);} else if (i % 3 == 2) {wkSet.add(x);}}
//            调用看牌的方法lookPoker("小明", xmSet, hm);lookPoker("小红", xhSet, hm);lookPoker("悟空", wkSet, hm);lookPoker("底牌", dpSet, hm);}//    看牌的方法public static void lookPoker(String name, TreeSet<Integer> ts, HashMap<Integer, String> hm) {System.out.println(name + "的牌是");for (Integer key : ts) {String poker = hm.get(key);System.out.print(poker + "");}System.out.println();}}

写在最后

为了写成这个小案例,我也是懵逼了,太菜了,写到零点多,就想看看谁叫地主会赢,哈哈~~~~~~~~~~

相关文章:

RK3399 BOX编译步骤

1、U-Boot编译&#xff1a; make rk3399_box_defconfig make ARCHVaarch64 生成trust.img、 RK3399MiniLoaderAll_V1.05.bin、 uboot.img&#xff1b; 2、Kernel编译&#xff1a; make ARCHarm64 rockchip_defconfig(make ARCHarm64 sunny_rk3399_defconfig) make ARCHarm64 rk…

小型星形网络结构设计示例

<?xml:namespace prefix st1 ns "urn:schemas-microsoft-com:office:smarttags" />以下内容摘自笔者编著的《网络工程师必读——网络系统设计》一书&#xff1a; 上节介绍的是网络形成后&#xff0c;由LAN MapShot 2.0自动发现网络拓扑结构的方法。在网络没…

IOS_多线程_ASI_AFN_UIWebView

H:/0730/00_多线程4种售票_ViewController.h// // ViewController.h // 卖票 // // Created by apple on 13-7-29. // Copyright (c) 2013年 itcast. All rights reserved. //#import <UIKit/UIKit.h>interface ViewController : UIViewController// 多行文本提示框 …

Error:java: 错误: 不支持发行版本 14

Error:java: 错误: 不支持发行版本 14修改全局设置修改module设置在我换了电脑把IDEA的project转移过来之后&#xff0c;开始出现了问题 修改全局设置 修改 Files -> Settings -> Project Structure -> Project -> Project Language Level->选择版本比当前jdk版…

python简说(十五)MD5加密

def my_md5(s): news str(s).encode() m hashlib.md5(news) return m.hexdigest()转载于:https://www.cnblogs.com/wangtingting920416/p/10099896.html

[错误]xstring(525) : warning C4530:

"warning C4530:" 在编译选项中添加上 -GX 就好了&#xff0c;详情参MSDN. 作用&#xff1a;remove _ATL_MIN_CRT Link option

程序模拟电影院窗口卖票,多线程Demo

某电影院目前正在上映国产大片&#xff0c;共有100张票&#xff0c;而它有3个窗口卖票&#xff0c;请设计一个程序模拟该电影院卖票 卖电影票Demo实现步骤1.SellTicket类2.SellTicketDemo测试类3.测试结果4.问题反思4.1 相同的票出现了多次4.2 出现了负数的票实现步骤 1. 定义一…

(C#加密)幻术-大踲无形

首先:我看下面的代码只是知道大概的原理核心算法还是不太清楚~~有清楚的麻烦回复下谢谢咯咯--这也是看Msdn就是把在一个图片上隐藏数据 usingSystem;usingSystem.Drawing;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Windows.Forms;usingSystem.Data;usin…

01 python爬虫

--- 转载于:https://www.cnblogs.com/haima/p/10107708.html

【BZOJ3963】[WF2011]MachineWorks cdq分治+斜率优化

【BZOJ3963】[WF2011]MachineWorks Description 你是任意性复杂机器公司(Arbitrarily Complex Machines, ACM)的经理&#xff0c;公司使用更加先进的机械设备生产先进的机器。原来的那一台生产机器已经坏了&#xff0c;所以你要去为公司买一台新的生产机器。你的任务是在转型期…

金山发布《2006年度信息安全报告》

2006年度&#xff0c;国内的互联网环境因接踵而至的信息安全事件一再掀起了波澜。作为国内领先的信息安全厂商&#xff0c;金山毒霸同数千万国内用户一起见证了对病毒、对流氓软件发出的各种绝技杀手锏。 2007年2月8日&#xff0c;金山软件正式发布了《中国互联网2006年度信息安…

Nginx+Apache Yii2.0 配置方案

最近用Yii2.0框架做了个小项目&#xff0c;虽然项目本身业务逻辑不复杂&#xff0c;但是由于本身业务逻辑的特殊性&#xff0c;在上午9点到12点之间系统访问量会突然上升&#xff08;浏览量和用户上传文件量&#xff09;。导致系统单纯的部署在Apache下&#xff0c;支撑不了这么…

RobotFramework下的http接口自动化Set Request Body 关键字的使用

Set Request Body关键字用来设置http 请求时的body 信息&#xff0c;尤其是在post 请求时&#xff0c;经常需要用到这个关键字。 该关键字接收一个参数&#xff0c;[ body ] 示例1&#xff1a;登录博客园&#xff08;http://www.cnblogs.com/&#xff09;时&#xff0c;设置登录…

JDK11使用IDEA,配置JavaFX

JDK11使用IDEA&#xff0c;配置JavaFX1.下载javaFX相关的包2.在实际Demo中试验哪里少了添加哪里导入lib文件夹&#xff0c;之后点击OK配置VMoption配置成功3.运行&#xff0c;大功告成1.下载javaFX相关的包 需要下载对应的包&#xff0c;进入openjfx.cn网站下载 https://gluon…

写了一个PPT,用于公司内部培训

匆忙写成&#xff0c;以后会慢慢补充请用力一击中等规模的并发程序设计http://files.cnblogs.com/jobs/2007-5-9-concurrent-ppt.rar2007-5-10修改版&#xff08;带参考文档&#xff09;http://files.cnblogs.com/jobs/2007-5-10-concurrent-ppt.rar转载于:https://www.cnblogs…

终端bash美化(FC)

终端bash美化(FC) 用Linux也已经一年多了&#xff0c;感觉几乎还是什么都不会。大概是一直再做一些没多大意义的事的缘故吧&#xff0c;就像今天些的内容一样。以前搞了一段时间的GENTOO&#xff0c;发现里面的bash提示&#xff08;也就是&#xff3b;userhostname directory]$…

List and ArrayList

List<> and ArrayList Class DiagramsUsing the Bit Complement of the BinarySearch() Result代码1using System; 2using System.Collections.Generic; 3class Program 4{ 5 static void Main() 6 { 7 List<string> list new List<string>();…

spring boot jpa 整合

1&#xff0c;Eclipse JPA Tool配置 https://www.cnblogs.com/wgslucky/p/10109300.html 2&#xff0c;项目地址 https://gitee.com/wgslucky/springboot-jpa 转载于:https://www.cnblogs.com/wgslucky/p/10109869.html

安装JDK1.8+环境配置

安装JDK1.8环境配置1.下载JDK2.安装JDK3.环境配置3.1 新建系统变量3.2 添加Path路径3.3 使用cmd命令行验证是否环境配置成功1.下载JDK 直接官网下载&#xff1a;http://www.oracle.com 下载链接https://www.oracle.com/java/technologies/javase-downloads.html#JDK8 选择自己…

Nodejs.热部署方法

在开发中我们修改了一点代码后要去重启服务器才能看到结果&#xff0c;为了省去这个过程我们以往经常使用热部署代码的方法 下面是使用“supervisor”来达到热部署能力的方法: sudo npm install -g supervisor #安装 supervisor app.js #启动 如果碰到如下提示, 则表示路径没…

SortedList 泛型类

SortedList 泛型类 请参见 示例 成员 全部折叠 全部展开 语言筛选器&#xff1a; 全部 语言筛选器&#xff1a; 多个 语言筛选器&#xff1a; Visual Basic 语言筛选器&#xff1a; C# 语言筛选器&#xff1a; C语言筛选器&#xff1a; J# 语言筛选器&#xff1a; JScri…

中国现代化进程专题讲座——有感

最近有上段治文老师的中国现代化进程这门课&#xff0c;感觉受益颇多。 从国外到国内&#xff0c;从古代到如今&#xff0c;讲论点、论据&#xff0c;评论历史人物、历史事件&#xff0c;讲的很宏大&#xff0c;很深刻。我并没有特意捧他&#xff0c;而是深深被其思想的深刻、言…

java运行出现JNI错误,JDK8和JDK11都安装了

java运行出现JNI错误&#xff0c;JDK8和JDK11都安装了1. 问题描述2. 尝试办法3. 解决办法3.1 解决方法&#xff1a;3.2 测试结果成功1. 问题描述 因为编程的需要&#xff0c;所以我安装了JDK8和JDK11&#xff0c;在安装好了之后配置好了环境变量&#xff0c;之后打开Eclipse的…

爱不释手(Typingfaster)1.78beta,重大升级,欢迎试用,期待反馈。

爱不释手1.78测试版主要有以下改进&#xff1a;1、改进内核&#xff0c;大幅度提高了屏显速度&#xff1b;2、增加文章分段显示功能&#xff1b;3、增加每秒按键次数统计&#xff1b;4、测试结果中划分了实际速度与名义速度&#xff0c;即实际速度&#xff1d;名义速度准确率&a…

php 网站内容采集器 Snoopy

Snoopy转载于:https://www.cnblogs.com/buxiangxin/p/7245580.html

[转]笑话: 耐力惊人的三只乌龟

某日&#xff0c;龟爸、龟妈、龟儿子三只乌龟&#xff0c;决议去郊游。带了一个山东大饼&#xff0c;和两罐海底鸡出发到XX山去。 苦爬十年&#xff0c;终於到了。席地而坐&#xff0c;卸下装备&#xff0c;准备进食。****~~~该死&#xff01;&#xff01;没带开罐器&#xff0…

如何解决代码中if…else 过多的问题

前言 if...else 是所有高级编程语言都有的必备功能。但现实中的代码往往存在着过多的 if...else。虽然 if...else 是必须的&#xff0c;但滥用 if...else 会对代码的可读性、可维护性造成很大伤害&#xff0c;进而危害到整个软件系统。现在软件开发领域出现了很多新技术、新概念…

Facial keypoints detection Kaggle 竞赛系列

3.2# Facial keypoints detection 作者&#xff1a;Stu. RuiQQ: 1026163725原文链接&#xff1a;http://blog.csdn.net/i_love_home/article/details/51051888该题主要任务是检測面部关键点位置 Detect the location of keypoints on face images 问题表述 在本问题中。要求计算…

Error:java: 无效的源发行版: 11

Error:java: 无效的源发行版: 111.问题描述2.原因查找3.解决办法3.1 打开IDEA的File—Project Structure设置3.2 修改Project SDK为自己想要切换的版本3.3 修改project languang level1.问题描述 在我的电脑中同时安装了JDK8和JDK11&#xff0c;之前本来调试好了的&#xff0c…

今天看论坛,有这样一句话,深有同感,还是家里好

就像孟宣后来对这个城市的评价&#xff1a;“这里的人活的才像人……就像那么发达国家的小城市&#xff0c;不用背负那么大的生存压力。在北京&#xff0c;如果你每天生活要30个馒头&#xff0c;那么你要挣到200到300个。而在这里&#xff0c;只需要30个馒头就可以了……”转载…