Eclipse+Java+Swing实现斗地主游戏
一. 视频演示效果
java斗地主源码演示
二.项目结构
代码十分简洁,只有简单的7个类,实现了人机对战

素材为若干的gif图片

三.项目实现
启动类为Main类,继承之JFrame,JFrame 是 Java Swing 库中的一个类,用于创建窗口应用程序的主窗口。部分代码如下:
public class Main extends JFrame implements ActionListener,Runnable{ // 初始化窗体public void Init() {this.setTitle("斗地主");this.setSize(830, 620);setResizable(false);setLocationRelativeTo(getOwner()); // 屏幕居中container = this.getContentPane();container.setLayout(null);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);container.setBackground(new Color(0, 112, 26)); // 背景为绿色}public Main(){init_doudizhu();// 初始化init_menu();// 创建菜单 按钮(抢地主,发牌,计时器)this.setVisible(true);init_card();//发牌start_qiangdizhu(); //发完牌开始抢地主time[1].setVisible(true);//线程安全性,把非主线程的UI控制放到里面t=new Time(this,10);//从10开始倒计时t.start();}
}
主流程在Main 的构造函数中,代码已经加了解释。
用到的枚举类:
代码获取
https://githubs.xyz/网站ctr+f搜索斗地主即可
更多源码下载请见上面地址。
相关文章:
Eclipse+Java+Swing实现斗地主游戏
一. 视频演示效果 java斗地主源码演示 二.项目结构 代码十分简洁,只有简单的7个类,实现了人机对战 素材为若干的gif图片 三.项目实现 启动类为Main类,继承之JFrame,JFrame 是 Java Swing 库中的一个类,用于创建窗…...
postgres12.4安装pg_rman-1.3.16
操作系统版本:centos7.6 X64 pg_rman版本:pg_rman-1.3.16-pg12.tar.gz postgres版本:postgresql-12.4.tar.gz 备份文件存放路径:/home/postgres/backup 归档日志存放路径:/home/postgres/archivelog/ postgres用户的环…...
Word邮件合并
Word邮件合并功能可以解决在Word中批量填写内容的需求,当需要大量格式相同,只修改少数相关内容时,例如利用Word制作工资条,通知函,奖状等等,同时操作也非常简单灵活。下面通过例子来说明邮件合并的使用方法…...
git的安装与配置教程-超详细版
一、git的安装 1、下载git git官网地址:https://git-scm.com/download/win/ 选择所需要的版本,进行下载。 2、下载完成之后,双击下载好的exe文件进行安装。 3、默认是C盘,推荐修改一下路径(非中文并且没有空格&…...
李宏毅【生成式AI导论 2024】第5讲 让语言模型彼此合作,把一个人活成一个团队
GPD4,它也有非常强大的能力。但是GPT4如果跟其他的语言模型合作,他们其实可以发挥1加1大于二的力量。 为什么要让模型合作? 那怎么让模型彼此合作呢?有很多不同的方式。一个可能性是假设你现在手边就有一堆语言模型,他们可能有不同的能力使用,他们可能有不同的成本局来…...
Unity 实现鼠标左键进行射击
发射脚本实现思路 分析 确定用户交互方式:通过鼠标左键点击发射子弹。确定子弹发射逻辑:每次点击后有一定时间间隔才能再次发射。确定子弹发射源和方向:子弹从枪口(Transform)位置发射,沿枪口方向前进。 变…...
数据库---PDO
以pikachu数据库为例,数据库名: pikachu 1.连接数据库 <?php $dsn mysql:hostlocalhost; port3306; dbnamepikachu; // 这里的空格比较敏感 $username root; $password root; try { $pdo new PDO($dsn, $username, $password); var_dump($pdo)…...
asyncio和 aiohttp
文章目录 asyncio和 aiohttp3.8版本 特性aiohttp案例优化方案 asyncio和 aiohttp asyncio即Asynchronous I/O是python一个用来处理并发(concurrent)事件的包,是很多python异步架构的基础,多用于处理高并发网络请求方面的问题。 为了简化并更好地标识异…...
微服务demo(三)nacosfeign
一、feign使用 1、集成方法 1.1、pom consumer添加依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId><version>2.2.6.RELEASE</version></dependency&…...
学浪视频如何录屏保存?
学浪软件对录屏进行了防范,不管什么录屏软件只要打开学浪就会黑屏,这里就教大家一个方法,可以使用网页版进行录屏 这里是学浪的网页版地址 https://student-api.iyincaishijiao.com/ep/pc/login 但是你们打开这个地址会直接跳转到这个页面…...
c++中2种返回变量类型名称的方法
std::string real_name abi::__cxa_demangle(typeid(*(*a)).name(), NULL, NULL, &status);必须使用#include <typeinfo> std::string real_name boost::core::demangle(typeid(*(*a)).name());必须使用 #include <boost/core/demangle.hpp> #include <t…...
python仿真报告自动化——excite TD齿轮角加速度级计算
python仿真报告自动化——excite TD齿轮角加速度级计算 1 、问题-燃油泵相位优化2、难点-excite TD结果文件的提取3、代码 1 、问题-燃油泵相位优化 用excite TD对齿轮系进行仿真,模拟不同燃油泵相位对齿轮传动振动的影响,用齿轮角加速度级作为评价指标…...
如何系统的学习 C#
第一阶段:环境搭建与基础知识 1.1 安装开发环境 下载并安装Visual Studio或Visual Studio Code。若选用Visual Studio Code,记得安装C#扩展插件。 1.2 C#语言概述 了解C#的发展历程、特点以及应用场景。学习C#的基本语法规范,例如语句结尾…...
python爬虫----python列表高级
小伙伴们,大家好!今天学习的内容是python列表高级。 1、添加元素 append:在列表末尾添加元素 A [xiaoWang, xiaoZhang, xiaoHua] print("添加之前,列表A的数据:", A)temp input(请输入要添加的学生姓名:) A.append…...
目标检测的相关模型图:YOLO系列和RCNN系列
目标检测的相关模型图:YOLO系列和RCNN系列 前言YOLO系列的图展示YOLOpassthroughYOLO2YOLO3YOLO4YOLO5 RCNN系列的图展示有关目标检测发展的 前言 最近好像大家也都在写毕业论文,前段时间跟朋友聊天,突然想起自己之前写画了一些关于YOLO、Fa…...
Linux基础命令2
目录 一.查看切换统计目录 1.Linux的文件属性 2. ls 命令 3.通配符 4.alias(别名) 5.du(disk use) 二.创建目录 1.mkdir (建立文件夹) 2.touch (建立文件) 三.Linux中的链接…...
IP组播基础
原理概述 IANA ( Internet Assigned Numbers Authority )将 IP 地址分成了 A 、 B 、 C 、 D 、 E5类,其中的 D 类为组播 IP 地址,范围是224.0.0.0~239.255.255.255。 一个 IP 报文,其目的地址如果是单播 IP 地址ÿ…...
Pytorch的named_children, named_modules和named_children
在 PyTorch 中,named_children、named_modules 和 named_parameters 是用于获取神经网络模型组件和参数的三种不同的方法。下面是它们各自的作用和区别: named_parameters:递归地列出所有参数名称和tensornamed_modules:递归地列…...
3.28总结
1.java学习记录 1.方法的重载 重载换而言之其实就是函数名不变,但是其中的参数需要改变,可以三个方面改变(参数类型,参数顺序,参数个数这三个方面入手,这样可以运用的) 但是:注意…...
C# 命名空间的两种定义哦写法与区别
这两种写法在C#中都是有效的,但是它们代表了不同的语法风格和C#版本特性。 第一种写法: namespace Nebula.PDF; public class PdfDocument {}这是C# 9.0及更高版本中引入的顶级语句(top-level statements)特性。它允许你直接在文…...
树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...
Java数值运算常见陷阱与规避方法
整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...
comfyui 工作流中 图生视频 如何增加视频的长度到5秒
comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗? 在ComfyUI中实现图生视频并延长到5秒,需要结合多个扩展和技巧。以下是完整解决方案: 核心工作流配置(24fps下5秒120帧) #mermaid-svg-yP…...
消防一体化安全管控平台:构建消防“一张图”和APP统一管理
在城市的某个角落,一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延,滚滚浓烟弥漫开来,周围群众的生命财产安全受到严重威胁。就在这千钧一发之际,消防救援队伍迅速行动,而豪越科技消防一体化安全管控平台构建的消防“…...
相关类相关的可视化图像总结
目录 一、散点图 二、气泡图 三、相关图 四、热力图 五、二维密度图 六、多模态二维密度图 七、雷达图 八、桑基图 九、总结 一、散点图 特点 通过点的位置展示两个连续变量之间的关系,可直观判断线性相关、非线性相关或无相关关系,点的分布密…...
