Skip to content

Latest commit

 

History

History
41 lines (31 loc) · 2.14 KB

File metadata and controls

41 lines (31 loc) · 2.14 KB

项目文件结构

源代码 (src/main/java)

com.keystorm

  • Main.java: 应用程序入口,初始化 UI 主题和窗口。

com.keystorm.core

  • GameEngine.java: 游戏核心引擎。控制游戏循环、单词生成、状态更新和碰撞检测。
  • GameConfig.java: 游戏配置常量 (屏幕尺寸、生成速度、墙壁生命值等)。
  • GameListener.java: 回调接口,用于引擎向 UI 发送事件 (分数变化、游戏结束等)。
  • WordGenerator.java: 单词生成器,从字典文件加载单词并随机生成单词实体。

com.keystorm.core.model

  • WordEntity.java: 单词实体类。包含单词文本、坐标 (x,y)、下落速度和匹配状态。
  • User.java: 用户模型。包含 ID、IP 地址和最高分信息。

com.keystorm.ui

  • WindowManager.java: 窗口管理器。管理主 JFrame 和 CardLayout,负责面板切换。

com.keystorm.ui.panels

  • LoginPanel.java: 登录界面。输入昵称,显示自动生成的 ID。
  • LobbyPanel.java: 游戏大厅。提供创建主机、加入游戏、查看历史和单人模式入口。
  • GamePanel.java: 主游戏界面。负责渲染游戏画面 (单词、墙壁)、处理键盘输入和 HUD 显示。
  • HistoryPanel.java: 历史战绩界面。显示本地数据库存储的比赛记录。

com.keystorm.net

  • NetworkManager.java: 网络管理器 (单例)。处理 TCP 连接 (Server/Client)、Socket 流和线程。
  • Packet.java: 网络数据包。序列化对象,用于在网络间传输游戏状态 (分数、单词位置、墙壁血量等)。

com.keystorm.db

  • DatabaseManager.java: 数据库管理。负责初始化 SQLite 连接和创建表结构。
  • UserDao.java: 用户数据访问对象。处理用户信息的保存和读取。
  • ScoreDao.java: 分数数据访问对象。处理比赛记录的插入和查询。

com.keystorm.util

  • NetworkUtils.java: 网络工具类。获取本机局域网 IP,生成用户 ID。

资源文件 (src/main/resources)

  • words.txt: 英文单词字典文件,用于游戏内单词生成。
  • keystorm.db: (运行时生成) SQLite 数据库文件,存储用户和战绩数据。