软件工程第二次作业

项目 内容
这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/2026-01SoftwareEngineeringandSoftwareEngineeringPractice/homework
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/2026-01SoftwareEngineeringandSoftwareEngineeringPractice/homework/16718
这个作业的目标 使用 Python 和 AIGC 完成“一箭又一箭”小游戏
学号 102402115
GitHub 仓库 https://github.com/Moliar4/arrow-game

项目展示:

展示开始界面:
image
游戏过程:
游戏过程3

项目介绍

游戏规则

棋盘上分布着若干带方向的箭头(上、下、左、右四种)。玩家点击某个箭头后,程序检查它前进方向上是否有其他箭头阻挡:

  • 前方无阻挡:箭头沿方向飞出棋盘并消失
  • 前方有阻挡:箭头射出后撞到阻挡物,变红抖动,然后回到原位,失误次数 +1
  • 失误达到 3 次:本关失败,可重新开始
  • 清空本关所有箭头:通关,进入下一关

界面设计

游戏包含四个界面:

  1. 主页面:标题 + 设置面板(音乐开关、音量调节)+ 开始游戏按钮
    image
  2. 关卡选择:6 个关卡按钮,显示解锁状态和已获得的星级
    关卡选择
  3. 游戏页面:顶部显示关卡号、剩余箭头数、失误次数、用时;中间是 7×7 棋盘;底部有返回和重新开始按钮
    游戏页面
  4. 结果弹窗:通关时显示用时、得分、星级和"下一关/重玩/返回"按钮;失败时显示"重新开始/返回"按钮
    完成页面
    失败页面

主要功能

  • 四种方向的箭头,点击判定路径
  • 飞出动画(沿方向移动 + 淡出 + 缩放)
  • 碰撞动画(射到阻挡物前 → 变红抖动 → 返回原位)
  • 6 个可通关关卡,逐关解锁
  • 计时、得分、三星评价
  • 进度保存(progress.json)
  • 音乐开关和音量调节
  • 退出确认弹窗

特色

  • 每个箭头颜色不同(8 色循环分配)
  • 格子悬停时高亮
  • 碰撞反馈精确到"真正碰到阻挡物才变红"
    **PSP 表格: **
    | 任务 | 预估耗时(小时) | 实际耗时(小时) | 差异(小时) |
    | ------------- | -------- | -------- | ------ |
    | 需求分析与游戏设计 | 2 | 1 | 1 |
    | Python 与图形库学习 | 0.5 | 0.5 | 0 |
    | 游戏界面实现 | 0.5 | 0.5 | 0 |
    | 路径与碰撞逻辑实现 | 0.5 | 0.2 | 0.3 |
    | 关卡设计 | 2 | 2 | 0 |
    | AIGC 辅助开发 | 3 | 4 | 1 |
    | 测试与修改 | 3 | 2 | 1 |
    | README 与博客撰写 | 1 | 1.5 | 0.5 |
    | 合计 | 12.5 | 11.7 | 0.8 |
    AIGC使用:
    | 子任务 | 借助何种 AIGC 技术 | AI 实现或提供了什么 | 效果如何 | 人工修改 |
    | ---- | ------------ | ----------- | --------- | --------- |
    | 路径检测 | deepseek | 生成四个方向的检测代码 | 各个方向的箭头都无法飞出 | 修改条件后正常 |
    | 关卡设计 | deepseek | 生成关卡数组 | 存在无法通关的布局 | 试玩验证并手动调整 |
    | 碰撞动画 | deepseek | 补全箭头晃动代码 | 基本可用 | 调整动画速度 |
    心得体会: 总结 AI 带来的帮助、出现的问题以及自己的收获。

测试

| 编号 | 测试内容 | 预期结果 | 实际结果 |
| ---- | --------------- | -------------- | |
| T01 | 点击前方无阻挡的箭头 | 箭头飞出棋盘并消失 | 箭头飞出方向与实际指向方向相反,修改后正常 |
| T02 | 点击前方有阻挡的箭头 | 箭头不消失,失误次数减 1 | 正常 |
| T03 | 点击位于边缘且朝向棋盘外的箭头 | 箭头正常消失,不发生越界错误 | 正常 |
| T04 | 消除本关全部箭头 | 显示通关并进入下一关 | 正常 |
| T05 | 失误次数耗尽 | 显示失败并允许重新开始 | 正常 |
| T06 | 游戏进行中重新开始 | 箭头布局和失误次数恢复 | 正常 |
| T07 | 关卡是否有解 | 关卡可以完成 | 关卡无法完成 |

扩展功能

】更多关卡或关卡选择;
得分、计时或星级评价;
提示功能;

posted @ 2026-09-27 00:59  Moliar-  阅读(6)  评论(0)    收藏  举报