### 项目技术方案 - 游戏引擎:pygame - 游戏设计:自行实现多场景 ### 项目结构 project start.py # 入口,包含初始化和主循环 data\ # 资源 src\ # 代码 config\ # 基础配置 game_config.py # 游戏配置 scenes.py # 场景类字典,用于多场景切换 scenes\ # 游戏场景 base_scene.py # 场景基类,被其他场景继承,含画布、计时器、下一场景、事件接收、每帧更新、切换场景、退出等参数方法 main_menu_scene.py # 主菜单场景,实现了按键组合、按键顺序、鼠标事件、文本显示、雨天特效等功能 game_scene.py # 游戏场景,实现了方向移动、碰撞判断等功能 empty_scene.py # 空场景,测试或复制用 ### 运行 安装依赖 ``` pip install -r requirements.txt ``` 运行 ``` python start.py ``` ### 执行逻辑 1. start.py中执行Game() # 开始游戏 2. 类执行初始化__init__() # 读取game_config.py中的配置,初始化窗口画布等,初始化首个场景MainMenuScene并记录到self.scene 3. 初始化函数调用run()开始主循环 # 循环中获取事件并发送给场景的handle_event()方法用于接收玩家输入 4. 主循环中调用self.scene.update()方法 # 每帧更新场景中实现的游戏逻辑 5. 场景切换通过改变self.scene实现 # 主循环中读取场景类的next_scene参数,为None不切换,否则切换为src\config\scenes.py中类实例化对象 6. 退出游戏通过设置running为False实现 # 主循环中读取场景类的next_scene参数,为"exit"时退出