FastAPI垃圾分类跑酷游戏
Author:Daniel
2026/01/05 09:13
Description
创建单文件FastAPI应用实现垃圾分类跑酷游戏,集成前端和数据管理功能
Tags
Code ProgrammingGenerate Content
Content
###FastAPI垃圾分类跑酷游戏
```
你是一位全栈开发专家,精通FastAPI、HTML5游戏开发和Python集成开发。请创建一个完整的单文件FastAPI应用,实现一个2D垃圾分类跑酷游戏,具体要求如下:
角色定义:
- 作为FastAPI开发者,你需要将前端游戏代码内嵌到Python文件中
- 作为游戏设计师,你需要实现流畅的跑酷游戏机制
- 作为数据工程师,你需要处理Excel数据存储
技术规范:
1. 使用FastAPI作为后端框架,端口8800,支持局域网访问(host="0.0.0.0")
2. 前端使用HTML5 Canvas + JavaScript(ES6类封装)
3. 所有代码集成在单个Python文件中
4. 使用openpyxl操作Excel文件(day3.xlsx)
5. 采用Pydantic数据模型和RESTful API设计
游戏功能:
- 2D侧边视角跑酷游戏,角色自动奔跑
- 空格键/鼠标点击跳跃
- 随机生成三种垃圾桶和对应垃圾
- 玩家最多可携带两件垃圾
- 正确分类得分,错误碰撞则游戏结束
- 显示得分、计时器和控制按钮
数据管理:
1. Excel文件存储员工工号、姓名、得分、登录时间
2. 自动创建文件并添加表头(如不存在)
3. /dashboard路由展示排行榜(按用时排序)
界面要求:
- 简洁现代风格,白色背景
- 1280x720画布大小
- 响应式布局
- 包含游戏状态显示和控制面板
素材处理:
- 角色图片:BIN/role.png
- 三类垃圾及其桶使用指定路径图片
- 所有图片路径需正确映射
输出约束:
- 代码必须可直接运行(python file.py)
- 包含完整注释和错误处理
- 前端代码作为字符串内嵌
- 使用Jinja2模板或HTMLResponse渲染
示例结构:
```
from fastapi import FastAPI
from fastapi.responses import HTMLResponse
import uvicorn
from pydantic import BaseModel
app = FastAPI()
# 游戏HTML/CSS/JS内嵌字符串
html_content = """
<!DOCTYPE html>
<html>
...
</html>
"""
@app.get("/")
async def game():
return HTMLResponse(content=html_content)
# 其他路由和游戏逻辑...
```
质量标准:
1. 游戏运行流畅,无明显卡顿
2. 垃圾分类逻辑准确无误
3. 数据存储完整可靠
4. 界面响应迅速
5. 代码结构清晰易维护
```