尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

软工团队作业3

软工团队作业3
📅 发布时间:2026/6/18 17:52:10

作业信息

这个作业属于哪个课程 首页 - 计科23级34班 - 广东工业大学 - 班级博客 - 博客园
这个作业要求在哪里 团队作业3--需求改进&系统设计 - 作业 - 计科23级34班 - 班级博客 - 博客园
这个作业的目标 明确团队项目细节 , 熟悉团队git的协作方式

需求&原型改进

问题与修改

  • 问题1:"敌机系统”和“生命系统”的描述过于静态,缺乏动态的、影响游戏节奏的规则。
    • 修改1:引入“关卡波次”和“BOSS机制判定”。
      • 关卡波次: 敌机不再是无尽地出现,而是以“波次”为单位。清理完一波敌机后,下一波敌机更强、更多。每5波出现一个中型BOSS,每10波出现一个大型BOSS。这给玩家提供了明确的短期目标和节奏感。
      • BOSS机制判定:游戏中的BOSS存在一定弱点,需要通过特定手段击破弱点致其瘫痪或者大幅降低血量,否则则会进入更加强烈的攻击或者抗性提高
      • 同时,不同的BOSS存在不同的攻击方式,玩家需要学会了解其攻击机制并进行策略反击
  • 问题2:游戏情感链接薄弱,玩家对游戏缺乏情感追求。
    • 修改2:引入“故事模式”,在游戏过程中进行故事叙述,包括BOSS的故事背景,同时对商店里的每架飞机设计独特的故事背景
  • 问题3:缺乏对商店物品的内容描述
    • 修改3:新飞机解锁:不同的飞机具有不同的攻击力,防御力以及生命值,越高级的飞机可以解锁更加强大的功能
      • 飞机皮肤:可以修改飞机外观,使得飞机更加好看
      • 特殊武器:不同的子弹会造成不同的输出效果,具体内容如下:
        • 1.普通子弹,数量无限但输出一般
        • 2.强化子弹,数量有限但输出较高,可以对付血量较高的敌机
        • 3.特化子弹,数量有限且输出略高,但在特定情况下,可以对付一些特殊的BOSS
      • 临时增益道具,可以不同程度地对玩家战机进行属性buff加成,比如提升生命值上限,提升防御力或者恢复当前血量
  • 问题4:游戏缺乏明确的阶段性目标,玩家只是“生存”,动力不足。
    • 修改4:引入“关卡制”和“任务系统”
    • 将游戏分为若干关卡,每关有若干波小敌机和至少1个关底BOSS。
    • 每关开始前显示简单任务,如:“第1关任务:击落20架小型敌机”。
    • 完成任务可获得额外分数奖励,并解锁下一关卡。

功能分析的四个象限

根据需求分析规格书,我们将其分为如下象限:

象限 功能类型 具体功能 功能描述 开发优先级
第一象限 输出功能 核心战斗循环 60FPS稳定运行、精准碰撞检测、即开即玩 最高
敌机与BOSS系统 多种行为模式(直线、冲锋、散射)、关底BOSS战 最高
操控与反馈 键盘控制、射击效果、爆炸动画、生命值系统 最高
第二象限 外围功能 任务系统 关卡任务(如击落20架敌机)、提供短期目标 高
挑战模式 固定序列关卡 高
新手引导 前几关难度降低、被击中后短暂无敌 高
第三象限 必要需求 进度存档 关卡选择、游戏进度保存 中
排行榜 本地最高分记录(前10名) 中
设置选项 音量调节、全屏/窗口切换 中
第四象限 辅助需求 解锁系统 飞机和皮肤解锁、成就/金币获取 低
成就系统 高难度成就(如一命通关) 低
故事系统 背景故事、世界观构建 低

任务拆解WBS

mmexport1763814693793


系统设计

  • 场景层

    • Window:初始化窗口、规定分辨率
    • UI:主菜单、商城、设置、生命值与分数的显示
    • Render:射击效果、爆炸效果、动画播放等
    • Audio:BGM和音效
  • 逻辑层

    • Entity:管理所有实体,处理实体的创建和销毁
    • Player:飞机控制、生命值
    • Enemy:敌机的生成、攻击模式、移动模式、boss的额外逻辑
    • Combat:伤害计算、分数计算、碰撞检测逻辑
    • Level:难度曲线
    • Power:道具生成、道具效果
  • 数据层

    • Data:金币和购买内容的存档、游戏配置(长时间保存)
    • Config:游戏难度的平衡(例如敌人血量、数量、伤害)
    • Board:排行榜数据的存储、排序

Alpha任务分配计划

优先级分配

  • 高优先级
    • 飞机控制、敌机移动与攻击逻辑
    • 碰撞检测、生命系统
    • 主菜单和游戏界面
    • 分数统计系统
  • 中优先级
    • boss逻辑
    • 商城系统
    • 排行榜
    • BGM和音效
  • 低优先级
    • 多种可操控飞机类型
    • 道具

任务分解

  • 场景层
    • 窗口初始化:初始化pygame窗口,设置分辨率
    • 基础UI:实现主菜单界面、生命值和分数显示、按钮交互
    • 渲染系统:动画播放、简单的爆炸效果
  • 逻辑层
    • 实体管理系统:实现所有实体的管理器,实现实体的创建和销毁逻辑(同时要避免频繁地创建和销毁)
    • 玩家控制系统:飞机移动逻辑、子弹发射逻辑、碰撞检测
    • 敌机系统:敌机的生成、移动和攻击,碰撞检测
    • 战斗系统:伤害计算、分数计算、生命值计算
  • 数据层
    • 数据存储:玩家生命值和分数、游戏配置、排行榜数据(长时间存储)

Alpha阶段计划

  1. 目标:完成基础demo
  2. 具体完成目标
    1. 游戏窗口:正常启动
    2. 主菜单界面:正常显示,按钮正确交互
    3. 玩家的移动和攻击:能够正常移动和攻击
    4. 敌机的生成和基础移动、攻击:能正常生成、移动、攻击,能够被玩家击落
    5. 碰撞检测系统和生命系统:碰撞检测做到正常运行,生命系统能够正确统计
    6. 初步的分数统计和显示:分数能够伴随敌机的击落正常统计
  3. 时间安排
    1. 基础框架(1天):窗口初始化、项目结构、实体管理器(需要提前设计定义清晰的接口)
    2. 核心功能(2天):玩家控制系统、基础敌机生成系统、碰撞检测
    3. UI和数据(1天):主菜单和游戏界面UI、数据管理系统
    4. bug修复和性能优化(2天)

Product Backlog:

ScreenShot_2025-11-22_21-12-35

Sprint Backlog:

ScreenShot_2025-11-22_21-24-41

甘特图:

mmexport1763814866068


测试计划

测试内容:

游戏内容测试

  • 玩家飞机
    • 加载贴图 : 验证玩家飞机贴图是否正常加载
    • 位置与状态更新 : 测试键盘控制飞机移动的流畅性
    • 射击 : 验证玩家飞机射击功能,包括子弹发射频率、轨迹
  • 敌机
    • 加载贴图 : 验证敌机各类别贴图是否正常加载
    • 随机调整位置 : 测试敌机生成位置的随机性,是否存在边界问题
    • 发射子弹 : 验证敌机子弹发射功能,包括频率、伤害逻辑
  • 游戏初始界面
    • 渲染页面元素 : 检查初始界面的按钮、背景、标题等元素显示
    • 事件监听 : 测试 “开始游戏”“退出游戏” 等按钮的点击响应
  • 游戏结束界面
    • 渲染页面元素 : 检查结束界面的分数显示、提示文字、按钮等元素
    • 事件监听 : 测试 “重新开始”“退出游戏” 按钮的点击响应
  • 重置游戏
    • 清空所有精灵组 : 验证游戏重置时,所有飞机、子弹等精灵是否清空
    • 重置游戏状态 : 测试分数、关卡等游戏状态是否重置为初始值
    • 创建新玩家 : 验证重置后玩家飞机是否重新生成且状态正常
    • 创建初始敌机 : 验证重置后敌机是否按初始逻辑生成

数据安全测试

  • 数据本地保存
    • 保存位置无误 : 验证游戏数据文件保存位置准确无误
    • 数据有效保存 : 测试游戏数据是否能正常保存 , 保存的游戏数据是否出错
  • 数据本地读取
    • 读取与保存一致 : 验证数据读取位置与保存位置一致 , 保证不会错误地进行非法读取
    • 读取内容有效性 : 测试从本地游戏数据文件读取出来的数据是否正确 , 有效

游戏性能测试

  • 游戏内存占用测试 : 测试游戏各流程的内存占用 , 确保不会出现异常占用
  • 游戏稳定性测试 : 测试游戏长时间运行游玩的稳定性 , 确保不会存在漏洞导致内存泄漏等问题而崩溃
  • 游戏帧率测试 : 测试游戏过程帧率稳定 , 不会出现异常掉帧的情况

测试工具:

使用:

  • cProfile 进行性能分析
  • memory_profiler 进行内存使用分析
  • unittest 进行单元测试
  • PyAutoGUI 进行自动化测试界面

相关新闻

  • 球坐标系的大运动方程组
  • i2c linux
  • hyper-v linux

最新新闻

  • 微信小程序地址选择器:数据驱动下的省市区三级联动架构解析
  • ComfyUI TTP Toolset未来 roadmap:即将支持的SD3模型与动态切片功能预览
  • S12Z BDC硬件握手协议:非侵入式调试与ACK脉冲机制详解
  • 2026年真空搅拌脱泡一体机深度选型:如何匹配最佳方案 - 速递信息
  • Pwndocker常见问题解决:libc版本兼容性与依赖库问题排查
  • 2026温州放心贵金属回收,CCIC 中检授权收黄金回收铂金回收白银回收持证实体门店 - 中安检金银铂钻回收

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号