# doudizhu **Repository Path**: Eternity-Arrebol/doudizhu ## Basic Information - **Project Name**: doudizhu - **Description**: 斗地主项目,采用网络通信技术,支持局域网、服务器联机。没有人机,只能真人玩,支持2-3人。使用JavaFX 技术构建,jdk1.8。 保有代码量6000+ - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: https://gitee.com/Eternity-Arrebol - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-11-03 - **Last Updated**: 2025-03-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # **项目阅读文档** ## 项目名称: 多人在线斗地主 ## 环境配置: 系统要求: 1. mysql8(如果替换成5,需要向lib文件夹添加对应版本jdbc包) 2. jdk1.8(必须为jdk1.8_111版本以上) 所有配置在com.zeyun.commmon.enums中 1) SystemEnums: 服务端IP地址, 服务端口号 游戏人数 数据库环境配置 资源默认配置 2) GameEnums: 窗口的标题,宽高等 ## 启动: ### 1)服务端启动(不带UI): 运行com.zeyun.server.network.SystemServer类 ### 2)客户端启动(带UI): 运行com.zeyun.server.view.LoginFrame类 输入服务端IP地址和端口号,以及服务端的数据库对应账号和密码 ### 3)其他事项 当玩家连接数量到达设置数量时,游戏开始,系统将发牌 在局域网中,如果无法连接模板服务端,则考虑以下问题: #### 3.1配置MySQL的my.ini配置文件 [mysqld] #端口号 port = 3306 bind_address= 0.0.0.0 #### 3.2修改mysql用户用户权限 -- 假设用户名为 'username',密码为 'password',允许从任意 IP 地址访问 GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; #### 3.3重启mysql服务 #### 3.4配置防火墙 在 Windows 1. 打开 "控制面板" -> "Windows 防火墙"。 2. 点击 "高级设置" -> "入站规则"。 3. 创建一个新规则,允许端口 3306 的 TCP 连接。 ## 注意 1. 本项目是在湖北师范大学Java课程的大作业,只添加了log4j2作为日志记录工具,无其他任何框架技术. 2. 项目采用C/S架构,两端尽可能采用MVC的结构设计 3. 使用了单例设计模式,避免了多线程并发问题 ### 作者有话说 代码保有量6000+行 1. 严正声明:本项目没有抄袭过任何代码,所有代码以及设计均为作者原创. 2. 目前网上开源的都是单机的Java Swing版本,本项目为全新项目采用JavaFX技术,且并非换壳项目. 3. 仅使用黑马斗地主的静态资源图片,作为本项目图片. 4. 本项目几乎集齐了JavaSE中学到的所有知识,包括但不限于集合,多态,接口,IO流,多线程,网络编程等. 5. 请湖北师范大学老师多多指教,发现不足之处. 6. 我能肯定在网上一定找不到和这一样的项目,这是一个全新的个人项目,作者在其中花费了大量的时间. 7. 不足之处请大家多多指教. ## 版本记录: 2024/11/20 发布斗地主项目Beta1版本 2024/11/23 发布斗地主项目Beta2版本 2024/12/17 发布斗地主项目Beta3版本