# LandlordsOfJava **Repository Path**: wxk38bdc/landlords-of-java ## Basic Information - **Project Name**: LandlordsOfJava - **Description**: ​​LandlordsOfJava​​ 是一个基于Java实现的网络斗地主游戏,采用客户端-服务器架构。项目包含Swing图形界面、自定义通信协议和完整的游戏逻辑,支持多玩家在线对战。通过Socket实现网络通信,服务端处理核心玩法(如发牌、牌型判断),客户端提供用户交互界面。适合Java学习者研究网络编程和游戏开发实践。 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-28 - **Last Updated**: 2025-05-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LandlordsOfJava - Java网络斗地主游戏 ## 项目简介 ​​LandlordsOfJava​​ 是一个基于Java实现的网络斗地主游戏,采用客户端-服务器架构。项目包含Swing图形界面、自定义通信协议和完整的游戏逻辑,支持3名玩家在线对战,。通过Socket实现网络通信,服务端处理核心玩法(如发牌、牌型判断),客户端提供用户交互界面。适合Java学习者研究网络编程和游戏开发实践。 ## 功能特性 ### 🎮 游戏系统 - 玩家身份认证(用户名登录) - 自动发牌与洗牌算法 - 抢地主阶段(20秒倒计时) - 出牌阶段(30秒倒计时) - 牌型验证(单张/对子/顺子等) - 胜负判定与游戏结束处理 ### 🌐 网络通信 - 基于Java Socket长连接 - 使用阿里巴巴的fastjson库进行数据序列化与反序列化 - 服务端消息广播机制 - 多线程处理网络I/O ### 🖥️ 图形界面 - 响应式游戏大厅界面 - 动态扑克牌拖拽效果 - 地主标识与倒计时显示 - 自适应窗口布局 ## 技术架构 ```mermaid graph TD A[客户端] -->|Socket| B[服务端] B --> C[游戏逻辑引擎] C --> D[牌局状态管理] D --> E[消息广播] E --> A ``` ## 项目结构 ```text LandlordsOfJava ├─client │ ├─images │ │ ├─poker │ │ └─poker2 │ ├─lib │ └─src │ └─gameClient │ ├─model │ ├─thread │ ├─util │ └─view └─server ├─lib └─src └─gameServer ├─model └─view ``` ## 开发工具 - IntelliJ IDEA - JDK 1.8+ ## 如何运行 1. 克隆项目到本地 2. 在`client`和`server`目录分别在IntelliJ IDEA中打开 3. 先运行`ServerMain.java`,后运行`ClientMain.java`和启动客户端和服务端 4. 在客户端输入用户名登录游戏 ## 参考资源 本项目参考了以下资源: https://www.bilibili.com/video/BV15q4y1M7Pi/ https://www.bilibili.com/video/BV1fB4y1T76y/ 在此感谢原作者的分享! ## 开源协议 本项目遵循 [MIT协议](LICENSE),请自由使用和修改。