KeyStorm 是一款基于 Java Swing 开发的局域网联机打字对战游戏。 玩家通过快速准确地输入屏幕上掉落的单词来消除它们,防止防守墙被摧毁。 游戏支持单人练习模式和双人局域网对战模式。
- 核心玩法: 消除掉落的单词,保护防守墙。
- 多人对战:
- Host (主机): 建立服务器等待连接。
- Join (加入): 输入主机 IP 进行连接。
- 实时同步: 实时同步双方分数、状态(在线/准备/战斗中)以及掉落的单词。
- 胜负判定: 一方墙壁被摧毁即为失败,另一方获胜。
- 单人模式: 离线练习,挑战自我极限。
- 数据库集成:
- 用户系统: 根据 IP 自动生成用户 ID,支持自定义昵称。
- 历史战绩: 本地 SQLite 数据库记录每场比赛的时间、分数、对手和结果。
- 界面: 使用 FlatLaf 提供现代化的深色主题 UI。
- JDK 17 或更高版本
- Maven 3.x
- 克隆项目或下载源码。
- 使用 IntelliJ IDEA 打开项目,或在根目录运行
mvn clean install。 - 运行主类:
src/main/java/com/keystorm/Main.java。
- 登录: 输入昵称进入大厅,系统会自动根据 IP 分配 ID。
- 准备:
- 单人: 点击 "单人练习模式" -> 到了游戏界面按任意键开始。
- 多人:
- 玩家 A 点击 "启动服务器"。
- 玩家 B 输入 A 的 IP 并点击 "连接"。
- 双方进入游戏界面后,按 'R' 键准备。
- 双方都准备好后,游戏自动开始。
- 战斗:
- 屏幕上方会不断掉落单词。
- 敲击键盘输入单词的字母。
- 输入正确字母变绿,输入完整个单词后消除并得分。
- 如果单词触底,底部的红色防守墙会受到伤害(变矮)。
- 墙壁高度归零时,游戏结束。
- 结算:
- 存活的一方获胜。
- 结果将保存到本地数据库,可在大厅点击 "查看历史战绩" 查看。
- 语言: Java 17
- GUI: Swing + FlatLaf (Dark Theme)
- 数据库: SQLite (JDBC)
- 网络: Java Sockets (TCP/IP)
- 构建工具: Maven
请参阅 PROJECT_LIST.md 了解详细的文件结构。