Poke 战斗
这是一款使用FastAPI和Python构建的口袋妖怪游戏,利用Anthropic的Claude AI进行创造性的战斗描述、攻击建议,并为捕获的口袋妖怪生成独特的个性。
技术栈
- 后端: FastAPI,Uvicorn(ASGI服务器)
- AI集成: Anthropic的Claude API,定制人工智能服务器(
ai_server.py)和客户(ai_client.py) - 外部API: PokeAPI
- 前端: HTML、CSS、JavaScript(由FastAPI提供)
- 依赖关系: python dotenv、httpx、websockets、Jinja2
安装说明
- 克隆存储库:
git clone
cd - 创建虚拟环境:
python -m venv .venv- 激活虚拟环境:
- 在Windows上:
.venv\Scripts\activate- 在macOS和Linux上:
source .venv/bin/activate- 安装依赖项:
pip install -r requirements.txt- 设置您的Anthropic API密钥:
- 创建一个名为的文件 .env 在根目录中。 - 按以下格式添加您的Anthropic API密钥:
ANTHROPIC_API_KEY=your_api_key_here注: 为了安全起见,建议使用托管环境提供的环境变量来管理API密钥,而不是将它们存储在 .env 文件,尤其是在生产中。
- 运行AI服务器:
在项目根目录中打开终端并运行:
uvicorn ai_server:app --reload --port 8000- 运行主游戏服务器:
打开A 新终端 在项目根目录中(必要时激活虚拟环境)并运行:
uvicorn server:app --reload --port 8080- 在浏览器中打开游戏:
首选 http://localhost:8080
项目结构
server.py:主FastAPI应用程序处理游戏逻辑并服务于前端。ai_server.py:FastAPI应用程序处理与Anthropic API的通信。ai_client.py:使用的Python客户端库server.py沟通ai_server.py.index.html:主要的前端HTML文件。static/:静态资源目录(CSS、JavaScript、图像——尽管目前只有目录)。requirements.txt:列出Python依赖项。api.env:要加载API密钥的环境文件(应添加到.gitignore)..gitignore:指定Git应忽略的有意未跟踪的文件。
特性
- 《口袋妖怪》: 随机捕捉口袋妖怪来组建你的团队。
- 口袋妖怪大战: 与随机对手口袋妖怪的回合制战斗。
- AI战斗描述: 由Anthropic的克劳德创作的战斗动作创意评论。
- AI攻击建议: 获取AI建议,以在战斗中使用最佳策略。
- AI口袋妖怪个性: 每个被抓到的口袋妖怪都有一个独特的、人工智能生成的性格特征或背景故事。
- 实时更新: 通过WebSocket更新游戏状态和消息。
- 响应式用户界面: 基本的UI调整,以更好地显示捕获的口袋妖怪。
