# Java_Text_Adventure **Repository Path**: geqianjun/java_-text_-adventure ## Basic Information - **Project Name**: Java_Text_Adventure - **Description**: 《异界旅者:控制台迷宫探险》基于规则的命令行文字冒险游戏(Text-Based Adventure Game) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-31 - **Last Updated**: 2025-12-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 异界旅者 (Java Adventure) - 项目部署与运行指南 1. 项目简介 本项目是一个基于 Java SE 开发的控制台文字冒险游戏引擎。项目演示了面向对象编程(OOP)的核心概念,包括封装、继承、多态,以及工厂模式、单例模式的应用。系统集成了 SQLite 数据库用于实现多用户存档功能。 2. 运行环境要求 在部署运行前,请确保本地环境满足以下要求: 操作系统:Windows / macOS / Linux JDK 版本:JDK 1.8 (Java 8) 或更高版本 数据库:SQLite (嵌入式,无需单独安装服务器) 依赖库:SQLite JDBC Driver (必须配置,否则无法存档) 本项目依赖 sqlite-jdbc 驱动包(如 sqlite-jdbc-3.xx.x.jar)。 注意:提交的源码包中若未包含 .jar 文件,请自行下载添加至 Classpath。 3. 数据库初始化说明 本项目采用自动初始化策略,无需手动执行 SQL 脚本建表。 自动创建: 程序首次启动时,DatabaseManager 会检测根目录下是否存在数据库文件 java_Adventure_new.db。 如果不存在,系统会自动创建该文件,并执行内部硬编码的 CREATE TABLE 语句初始化 PlayerSave 表。 存档文件: 运行后生成的数据库文件名为:java_Adventure_new.db。 请确保项目根目录具有写入权限,否则数据库文件无法创建。 4. 部署与运行步骤 您可以选择使用 IntelliJ IDEA (推荐) 或 命令行 方式运行。 方式一:使用 IntelliJ IDEA (推荐) 导入项目: 启动 IDEA,选择 Open,选中项目根文件夹 Java_Adventure。 配置依赖 (关键步骤): 点击 File -> Project Structure -> Modules -> Dependencies。 点击 + 号 -> JARs or Directories。 选择本地下载好的 sqlite-jdbc-xxx.jar 文件并添加。 或者:如果项目包含 lib 目录,请将其中的 jar 包右键选择 "Add as Library"。(如未提供 jar 包,请务必下载并添加) 运行项目: 找到 src/com/gamedev/Main.java 文件。 点击代码左侧的绿色运行箭头,选择 Run 'Main.main()'。 检查运行: 控制台应输出 ====== 欢迎来到 《异界旅者》 ======。 方式二:使用命令行 (CLI) 假设当前位于项目根目录,且已下载 sqlite-jdbc.jar 到 lib 文件夹中: 编译代码: Windows: mkdir bin javac -d bin -encoding UTF-8 -cp "lib/sqlite-jdbc.jar" src/com/gamedev/**/*.java Linux/Mac: mkdir bin find src -name "*.java" > sources.txt javac -d bin -encoding UTF-8 -cp "lib/sqlite-jdbc.jar" @sources.txt 运行程序: Windows: java -cp "bin;lib/sqlite-jdbc.jar" com.gamedev.Main Linux/Mac: java -cp "bin:lib/sqlite-jdbc.jar" com.gamedev.Main 5. 访问与操作方式 程序运行在控制台(Console)中,通过键盘输入指令进行交互。 5.1 启动流程 程序启动后,提示输入账号名称(用于区分不同存档)。 输入名称(如 Tester)并回车。 老用户:自动加载上次退出的位置、金币和状态。 新用户:自动创建新角色,出生在“新手村”。 5.2 核心指令表 (不区分大小写) 功能分类 指令格式 示例 说明 移动 go [方向] go north / go n / 去 北 向指定方向移动 观察 look look 查看当前房间描述、怪物和物品 战斗 attack attack / 打 攻击房间内的敌人 拾取 take [物品] take 木剑 拾取地上的物品 交易 buy [物品] buy 铁剑 在商店购买物品(需金币) 状态 status status 查看生命值、攻击力、装备 背包 inventory inventory / 背包 查看持有的物品 存档 save save 手动保存当前进度 退出 quit quit 保存并退出游戏 6. 常见问题排查 报错:java.lang.ClassNotFoundException: org.sqlite.JDBC 原因:未正确添加 SQLite 驱动 jar 包到项目的 Classpath 中。 解决:请参考“部署步骤”中的第 2 步,确保 IDE 或命令行中包含了 sqlite-jdbc.jar。 报错:SQLException: path to 'java_Adventure_new.db': ... (Permission denied) 原因:程序没有权限在当前目录创建数据库文件。 解决:请尝试以管理员身份运行 IDE,或将项目移动到非系统保护目录(如 D 盘根目录)下运行。 中文乱码 解决:请确保 IDE 的控制台编码设置为 UTF-8,编译时使用 -encoding UTF-8 参数。