当前位置: 首页 > news >正文

Java案例斗地主游戏

目录

一案例要求:

二具体代码:


一案例要求:

(由于暂时没有学到通信知识,所以只会发牌,不会设计打牌游戏)

二具体代码:

Ⅰ:主函数

package three;public class test {public static void main(String[] args) {Room room=new Room();room.start();}
}

Ⅱ:实体类:

package three;public class card {private String number;private String color;private  int size;public card() {}public card(String number, String color, int size) {this.number = number;this.color = color;this.size = size;}public String getNumber() {return number;}public void setNumber(String number) {this.number = number;}public String getColor() {return color;}public void setColor(String color) {this.color = color;}public int getSize() {return size;}public void setSize(int size) {this.size = size;}@Overridepublic String toString() {return color+number;}
}

Ⅲ操作类:

package three;import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;public class Room {private List<card> allcards=new ArrayList<>();public Room(){String []numbers={"3","4","5","6","7","8","9","10","J","Q","K","A","2"};String []color={"♠","♣","■","♥"};int size=0;for (String number : numbers) {size++;for (String s : color) {card a=new card(number,s,size);allcards.add(a);}}card a1=new card("","🃏",++size);card a2=new card("","🃏",++size);Collections.addAll(allcards,a1,a2);System.out.println("新牌"+allcards);}public void start() {Collections.shuffle(allcards);System.out.println("洗牌后"+allcards);List<card>xiaozhang=new ArrayList<>();List<card>xiaowang=new ArrayList<>();List<card>xiaochong=new ArrayList<>();for (int i = 0; i < allcards.size()-3; i++) {if(i%3==0){xiaozhang.add(allcards.get(i));}if(i%3==1){xiaowang.add(allcards.get(i));}if(i%3==2){xiaochong.add(allcards.get(i));}}sort(xiaozhang);sort(xiaowang);sort(xiaochong);System.out.println("小张"+xiaozhang);System.out.println("小王"+xiaowang);System.out.println("小冲"+xiaochong);List<card> left=allcards.subList(allcards.size()-3,allcards.size());xiaozhang.addAll(left);sort(xiaozhang);System.out.println("小张抢到地主牌后"+xiaozhang);}public void sort(List<card> a){Collections.sort(a, new Comparator<card>() {@Overridepublic int compare(card o1, card o2) {return o1.getSize()-o2.getSize();}});}
}

相关文章:

Java案例斗地主游戏

目录 一案例要求&#xff1a; 二具体代码&#xff1a; 一案例要求&#xff1a; &#xff08;由于暂时没有学到通信知识&#xff0c;所以只会发牌&#xff0c;不会设计打牌游戏&#xff09; 二具体代码&#xff1a; Ⅰ&#xff1a;主函数 package three;public class test {…...

sqlite|轻量数据库|pgadmin4的sqlite数据库操作--重置密码和账号解锁

前言&#xff1a; pgadmin4的用户密码以及pgadmin4创建的pg数据库的连接信息等等都是存放在sqlite数据库内的&#xff1b;而有的时候&#xff0c;可能会由于自己的问题将pgadmin4的密码忘记&#xff0c;这个时候需要重置pgadmin4的密码&#xff0c;或者是pgadmin4的密码输错多…...

【ARMv8/v9 异常模型入门及渐进 9.1 - FIQ 和 IRQ 打开和关闭】

请阅读【ARMv8/v9 ARM64 System Exception】 文章目录 FIQ/IRQ Enable and Disable汇编指令详解功能解释使用场景和注意事项 FIQ/IRQ Enable and Disable 在ARMv8/v9架构中&#xff0c;可以使用下面汇编指令来打开FIQ和 IRQ,代码如下&#xff1a; asm volatile ("msr da…...

深入探索Flutter中的状态管理:使用Provider库

当涉及Flutter状态管理时,provider是一个强大且灵活的解决方案,它提供了一种简单且高效的方式来管理应用程序状态。本文将详细介绍Flutter中provider插件的使用方法、示例代码、各种使用场景以及注意事项。 1. 引入依赖 首先,需要在项目的pubspec.yaml文件中添加provider依…...

算法工程师第十四天(找树左下角的值 路径总和 从中序与后序遍历序列构造二叉树 )

参考文献 代码随想录 一、找树左下角的值 给定一个二叉树的 根节点 root&#xff0c;请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: root [2,1,3] 输出: 1示例 2: 输入: [1,2,3,4,null,5,6,null,null,7] 输出: 7 层次遍历&#…...

memcached 高性能内存对象缓存

memcached 高性能内存对象缓存 memcache是一款开源的高性能分布式内存对象缓存系统&#xff0c;常用于做大型动态web服务器的中间件缓存。 mamcached做web服务的中间缓存示意图 当web服务器接收到请求需要处理动态页面元素时&#xff0c;通常要去数据库调用数据&#xff0c;但…...

C语言 分割链表

题目来源: 代码部分&#xff0c;参考官方题解的写法: // 思路: 就是把原始链表&#xff0c;拆分为2部分&#xff0c;最后再拼接一下。struct ListNode* partition(struct ListNode* head, int x) {struct ListNode* small malloc(sizeof(struct ListNode));struct ListNode*…...

spring ioc的原理

1、控制反转(IOC):对象的创建控制权由程序自身转移到外部&#xff08;容器&#xff09; 2、依赖注入(DI):所谓依赖注入&#xff0c;就是由IOC容器在运行期间&#xff0c;动态地将某种依赖关系注入到对象之中。 Spring 中的 IoC 的实现原理就是工厂模式加反射机制。 参考资料…...

npm安装依赖包报错,npm ERR! code ENOTFOUND

一、报错现象&#xff1a; npm WARN registry Unexpected warning for https://registry.npmjs.org/: Miscellaneous Warning ETIMEDOUT: request to https://registry.npmjs.org/vue failed, reason: connect ETIMEDOUT 104.16.23.35:443 npm WARN registry Using stale data…...

【iOS】——内存对齐

内存对齐是什么 内存对齐指的是数据在内存中的布局方式&#xff0c;它确保每个数据类型的起始地址能够满足该类型对齐的要求。这是因为现代处理器在访问内存时&#xff0c;如果数据的起始地址能够对齐到一定的边界&#xff0c;那么访问速度会更快。这种对齐通常是基于数据类型…...

网络安全-网络安全及其防护措施10

46.软件定义网络&#xff08;SDN&#xff09; 软件定义网络&#xff08;SDN&#xff09;的概念和特点 软件定义网络&#xff08;SDN&#xff09;是一种新兴的网络架构&#xff0c;通过将网络的控制平面&#xff08;Control Plane&#xff09;和数据转发平面&#xff08;Data …...

Pytorch基础应用

1.数据加载 1.1 读取文本文件 方法一&#xff1a;使用 open() 函数和 read() 方法 # 打开文件并读取全部内容 file_path example.txt # 替换为你的文件路径 with open(file_path, r) as file:content file.read()print(content)方法二&#xff1a;逐行读取文件内容 # 逐…...

Axure 教程 | 设置文本框背景透明

​在AXURE软件中&#xff0c;部件样式可以编辑&#xff0c;但有时却无法满足所有个性化原型的需求。例如文本框部件&#xff0c;可以设置是否隐藏边框&#xff0c;但即使隐藏边框之后&#xff0c;文本框还会有白色的背景。 当界面需要一个无背景色的输入框时&#xff0c;对于完…...

【BUG】已解决:NOAUTH Authentication required

已解决&#xff1a;NOAUTH Authentication required 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班出身&#xff0c;就职于医疗科技公司&#xff0c;热衷分享知识&#xff0c;武汉城市开发者社区主理人…...

全国产服务器主板:搭载飞腾FT2000+/64处理器的高性能加固服务器

近期很多朋友咨询全国产化的服务器主板。搭载的是飞腾FT-2000/64的全国产化服务器主板。他的主要特点是&#xff1a;①丰富的PCIe、千兆以太网、SATA接口&#xff0c;可用作数据处理、存储、通信服务器&#xff1b;②​​​​​​​板载独立显示芯片&#xff0c;对外HDMI/VGA/L…...

OPC UA边缘计算耦合器BL205工业通信的最佳解决方案

OPC UA耦合器BL205是钡铼技术基于下一代工业互联网技术推出的分布式、可插拔、结构紧凑、可编程的IO系统&#xff0c;可直接接入SCADA、MES、MOM、ERP等IT系统&#xff0c;无缝链接OT与IT层&#xff0c;是工业互联网、工业4.0、智能制造、数字化转型解决方案中IO系统最佳方案。…...

【已解决】Django连接MySQL启动报错Did you install mysqlclient?

在终端执行python manage.py makemigrations报错问题汇总 错误1&#xff1a;已安装mysqlclient&#xff0c;提示Did you install mysqlclient? 当你看到这样的错误信息&#xff0c;表明Django尝试加载MySQLdb模块但未找到&#xff0c;因为MySQLdb已被mysqlclient替代。 【解…...

ubuntu gcc g++版本切换

要将 GCC 和 G 的版本从 12.4 降低到 9&#xff0c;你可以按照以下步骤操作&#xff1a; 安装 GCC 和 G 9&#xff1a; sudo apt update sudo apt install gcc-9 g-9 使用 update-alternatives 设置优先级&#xff1a; sudo update-alternatives --install /usr/bin/gcc gcc…...

如何发一篇顶会论文? 涉及3D高斯,slam,自动驾驶,三维点云等等

SLAM&3DGS 1&#xff09;SLAM/3DGS/三维点云/医疗图像/扩散模型/结构光/Transformer/CNN/Mamba/位姿估计 顶会论文指导 2&#xff09;基于环境信息的定位&#xff0c;重建与场景理解 3&#xff09;轻量级高保真Gaussian Splatting 4&#xff09;基于大模型与GS的 6D pose e…...

Java面试八股之什么是Redis的缓存更新

什么是Redis的缓存更新 Redis的缓存更新是指当缓存中的数据发生变化时&#xff0c;需要将这些变化同步到缓存中以保持数据的一致性。缓存更新的目的是确保缓存中的数据始终是最新的&#xff0c;以便用户可以获取到最新的数据。 常见的缓存更新策略包括&#xff1a; 直接覆盖…...

Arm嵌入式多线程编程:原理、实践与优化

1. Arm嵌入式开发中的多线程编程基础在嵌入式系统开发中&#xff0c;多线程编程是提高系统响应能力和资源利用率的重要手段。Arm架构作为嵌入式领域的主流处理器架构&#xff0c;其编译器工具链对多线程编程提供了完善的支持。不同于通用计算环境&#xff0c;嵌入式系统的多线程…...

量子噪声对机器学习模型的影响与优化策略

1. 量子噪声与机器学习模型的复杂博弈在量子计算领域&#xff0c;噪声问题就像一位不请自来的客人&#xff0c;总是干扰着我们的计算过程。特别是在量子机器学习(QML)中&#xff0c;噪声的影响更为微妙且复杂。我最近使用Qiskit平台进行了一系列实验&#xff0c;试图揭示不同类…...

GLB纹理提取工具:原理、应用与Python实现详解

1. 项目概述与核心价值最近在折腾一些3D模型处理的工作流&#xff0c;特别是涉及到Web端展示的glTF/GLB格式时&#xff0c;遇到了一个不大不小但很烦人的问题&#xff1a;如何高效地从打包好的GLB文件中&#xff0c;把里面嵌入的纹理图片&#xff08;Texture&#xff09;给单独…...

Go 里什么时候可以“panic”?

“Don’t panic.” —— Go 谚语 但……如果我真的想 panic 呢&#xff1f;在 Go 的世界里&#xff0c;panic() 就像厨房里的灭火器&#xff1a;平时你不会用它炒菜&#xff0c;但如果油锅着火了&#xff0c;你肯定得拉它一把。今天我们就来聊聊&#xff1a;Go 里什么时候 pani…...

MCP协议专用Linter:mcp-lint工具的设计、规则与集成实践

1. 项目概述&#xff1a;一个为MCP协议量身定制的代码质量守护者 最近在折腾MCP&#xff08;Model Context Protocol&#xff09;相关的开发&#xff0c;发现一个挺有意思的项目&#xff1a; robert19001-cmyk/mcp-lint 。光看名字&#xff0c;你大概能猜到它是个代码检查工具…...

别再写面条代码了!用C语言状态机重构你的单片机项目(附51单片机HSM可移植框架)

从面条代码到优雅架构&#xff1a;用HSM状态机重构嵌入式系统的实战指南 当你面对一个智能家居设备的嵌入式项目&#xff0c;代码里充斥着数百行的if-else嵌套和switch-case分支&#xff0c;每次添加新功能都像是在一碗已经坨掉的面条上再浇一勺酱料——这样的开发体验&#xf…...

跨越平台壁垒:在STM32与MSP430上构建Arduino式开发体验

1. 为什么要在STM32和MSP430上实现Arduino开发体验&#xff1f; 我第一次接触嵌入式开发就是在Arduino平台上&#xff0c;那种插上USB就能烧录、几行代码让LED闪烁的爽快感&#xff0c;让我这个非科班出身的小白瞬间爱上了硬件编程。但后来参加电子设计竞赛时&#xff0c;队友递…...

3分钟掌握Windows与Office智能激活:KMS_VL_ALL_AIO终极解决方案

3分钟掌握Windows与Office智能激活&#xff1a;KMS_VL_ALL_AIO终极解决方案 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows和Office的激活问题烦恼吗&#xff1f;KMS_VL_ALL_AIO作…...

【波导仿真】基于矢量有限元法分析均匀波导附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。 &#x1f34e;完整代码获取 定制创新 论文复现点击&#xff1a;Matlab科研工作室 &#x1f447; 关注我领取海量matlab电子书和数学建模资料 &#x…...

告别头像上传模糊!用Cropper.js打造完美头像裁剪上传功能(附完整前后端代码)

从零构建高精度头像裁剪系统&#xff1a;Cropper.js全栈实战指南 每次上传头像时&#xff0c;你是否遇到过这样的尴尬——精心选择的图片上传后变得模糊不清&#xff0c;或者被强制拉伸变形&#xff1f;这种糟糕的用户体验在社交平台、企业系统中尤为常见。本文将带你从零构建…...