软工第二次作业

第二次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13253
这个作业的目标 借助AIGC工具,使用Python编写一个“羊了个羊”风格的消除类小游戏,完成游戏的基本功能和交互设计。
学号 102201427

1. 项目展示

https://github.com/Miyer003/ALittleGame

2. 项目介绍

2.1 游戏界面设计

  1. 主菜单界面:玩家可以从键盘上输入1、2、3、4来选择不同难度(简单、中等、困难)以及查看帮助说明。
  2. 游戏界面:包含左侧的待匹配区域和右侧的已匹配区域,显示剩余时间和得分,并允许玩家通过点击匹配图标进行消除。
  3. 帮助页面:展示游戏规则和按键操作提示。
  4. 结束页面:当游戏胜利或失败时,展示游戏结果和返回主菜单的提示。

2.2 游戏逻辑

  1. 图标生成与摆放:随机生成图标的摆放顺序,图标固定排列在屏幕上。通过点击选择两个相同的图标进行匹配消除。
  2. 倒计时机制:游戏有倒计时,玩家需要在倒计时结束前完成所有匹配,否则游戏失败。
  3. 匹配消除逻辑:玩家每次点击两个图标,若匹配成功则得分并将其移入已匹配区域,若不匹配则会提示并清空选择。
  4. 难度设置:根据不同的难度设置,调整图标的数量、摆放方式以及游戏时间,简单模式有更少的图标和较长的时间,而困难模式则相反。

2.3 附加功能

  1. 提示功能:玩家可通过按 Ctrl+H 键使用提示功能,随机提示一个未匹配的图标,以绿色方框标出,以能够在混乱的困难模式中,在时间紧迫的情况下找到未匹配的图标。
  2. 撤销功能:玩家可通过按 Ctrl+U 键撤销上一次成功的匹配操作。

    👉
  3. 音效功能:我在游戏过程中添加了单击的音效、配对成功的音效、配对错误的音效、游戏成功、失败的音效,以及整个游戏都有背景音乐,以提高玩家的体验感。

3. 项目测试与体验

在测试过程中,确保了以下几个方面的正常运行:

  1. 多难度切换:玩家可以顺利切换不同难度模式,每个模式的倒计时和图标数量不同,增加了挑战性。
  2. 提示与撤销功能:在适当时机使用提示与撤销功能,确保游戏更加有趣和具有可玩性。
  3. 时间倒计时与结束判定:确保倒计时结束后游戏能正确判定胜负,并显示结果页面。

游戏体验流畅,难度适中,具备较好的扩展性。


4. AIGC 任务表格

子任务 借助何种 AIGC 技术 实现了什么功能 效果如何
主菜单设计 ChatGPT4 提供了绘制菜单页面的建议 生成的代码结构清晰,减少了手动编写时间
图标摆放逻辑 ChatGPT4 自动生成图标的随机打乱和摆放逻辑 自动生成的代码满足要求,减少了错误
图像背景生成 文心一言 生成了游戏所需的图标和背景 生成的图像符合游戏需求,提升了视觉效果
事件处理 Copilot 自动补充了键盘和鼠标事件的处理逻辑 提高了开发效率,提供了可靠的事件响应机制
提示与撤销功能 结合个人代码与 Copilot 建议 完善了撤销与提示逻辑 功能实现无误,代码结构清晰,符合游戏逻辑需求

使用AIGC能免去许多重复性的劳动,帮助我更快完成了基础游戏框架的搭建。
除此之外,也能解决一些繁琐的底层问题,例如图标和背景的生成。


5. PSP 表格

PSP 阶段 预估耗时(分钟) 实际耗时(分钟)
计划 30 20
需求分析 60 50
设计 90 80
代码实现 240 260
测试 60 50
报告撰写 60 45
总计 540 505

PSP 分析

通过 PSP 表格记录的预估时间和实际时间,可以看出开发过程中实际时间略长于预估时间,主要原因在于游戏逻辑的调试和功能扩展部分耗时较长,而代码实现和测试阶段也遇到了一些不可预见的问题。


posted @ 2024-09-16 22:23  Meay  阅读(63)  评论(0编辑  收藏  举报