软件工程第二次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024/
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13253
这个作业的目标 学习通过运用AIGC,使用pygame制作小游戏
学号 102202153

《“小猫日记”游戏》

🎀嘿!让我们一起走进我软件工程第二次作业中的精彩世界——“小猫日记”游戏。💖

一、项目展示

项目代码已经在 GitHub 上啦!🎉链接在此:点击查看。😉

  1. 安装pygame
  2. 游戏展示
    • 开始界面:
    • 游戏简介:
    • 简单模式:
    • 困难模式:
    • 游戏成功:
    • 游戏失败:
  3. 动画演示

二、项目介绍

(一)前端设计与特色功能

  1. 界面设计
    • 😸使用强大的 Pygame 图形库精心打造了游戏的各个界面。从可爱的封面开始,就像打开了一本神秘的日记。模式选择界面简洁明了,让你轻松决定挑战的难度。游戏界面色彩丰富,图案们也都很可爱。💖
    • 每一张背景图片、选项图片等都经过精心挑选和调整,以适应屏幕尺寸,给玩家良好的视觉感受。😍
  2. 特色功能
    • 多种难度模式:🎯有简单模式和困难模式可供选择。简单模式下,游戏网格尺寸小巧可爱,为 6x6,非常适合新手小伙伴们练手。困难模式则是勇敢者的挑战,12x12 的网格充满了未知与挑战,等你来征服!💪

(二)技术与算法

  1. 技术实现
    • 🐾利用了 Python 的 Pygame 库,实现游戏的图形界面、交互逻辑和音效播放。💫
    • 通过加载各种可爱的图片资源,图案们变得栩栩如生,背景、选项图片和道具图片也为游戏增添了丰富的视觉元素。🌈
    • 利用 Pygame 的事件处理机制,玩家与游戏之间的互动变得轻松自然。鼠标点击、模式选择、道具使用等都很流畅。🗣️
  2. 算法实现
    • 图案生成与分布魔法:为确保简单模式下图像数量是每一个选定图像的 3 的倍数,采用特定算法调整图像数量。同时,随机生成无序且不重叠的图案,合理摆放游戏图案。🧙‍♀️
    • 消除逻辑大揭秘:当玩家选择三个相同图案时,成功消除并播放音效;若图案不同,则放回原位。通过遍历选中图案列表判断是否相同,实现消除逻辑。
      🕵️‍♂️

三、测试

  1. 测试样例
    • 🏃‍♂️对游戏的不同模式进行了严格的测试,简单模式和困难模式都要经受考验。检查图案的生成和分布是否符合预期。🎨
    • 消除逻辑测试更是不能马虎。选择不同的图案组合,看看游戏是否能够准确地消除或放回原位。🧩
    • 游戏的结束条件也必须严格把关。当所有图案被消除时,游戏是否能胜利欢呼?倒计时结束时,游戏是否会遗憾失败?这一切都需要仔细检查。🎉
  2. 测试结果
    • 😃在不同模式下,图案生成和分布非常合理,没有出现重叠或错误的情况。🧐
    • 消除逻辑准确,能正确判断图案是否相同并进行相应操作。🧙‍♂️
    • 游戏的结束条件能够正确触发,当所有图案被消除时,胜利的喜悦扑面而来;倒计时结束时,也能坦然接受失败,准备下一次挑战。💪
  3. 测试设计评价
    • 🎯测试用例涵盖了游戏的主要功能和逻辑,能够有效地检查游戏的正确性和稳定性。🛡️
    • 通过对不同模式、道具功能和消除逻辑的测试,我们能够像侦探一样发现潜在的问题,并及时进行修复。让游戏变得更加完美。🕵️‍♂️
    • 不过,测试用例可能还不够全面哦。比如,没有对游戏的性能进行测试,可能会在大量玩家同时游戏时出现性能问题,我们需要在未来的开发中更加注意这个问题。👾

四、AIGC 表格任务

序号 借助 AIGC 技术学习内容 学习体会
1 Pygame 库的使用 通过使用 Pygame 库,深入了解了如何创建简洁而富有吸引力的 2D 游戏界面。能够熟练地加载各种图像资源,为游戏赋予丰富的视觉元素,同时也掌握了处理用户输入以及播放音效的方法。这一过程让我体会到 Pygame 的强大实用性,为游戏开发提供了坚实的基础。
2 图案生成与分布 未明确使用特定 AIGC 技术,通过手动编写算法实现随机生成无序且随机分布的图案,并确保可完全消除。
3 图标点击与消除逻辑 实现图标点击和消除算法的过程,让我深刻理解了如何有效地管理游戏对象的状态与交互。在设计和实现这些逻辑的过程中,我体会到了清晰的逻辑结构在游戏开发中的核心地位。只有准确地判断图标点击的有效性,并合理地处理消除逻辑,才能为玩家提供富有挑战性和趣味性的游戏体验。
4 时间与倒计时机制 学习如何在游戏中实现时间管理,特别是倒计时功能,让我对游戏进程的控制有了更深入的认识。通过精确地计算时间和合理地设置倒计时,能够为玩家营造紧张刺激的游戏氛围,同时也增加了游戏的难度和挑战性。这一过程提升了我对游戏节奏和时间把控的能力。
5 界面设计 使用 Pygame 图形库手动设计游戏界面。界面美观,操作方便,提供良好视觉体验
6 音效管理与互动 为不同操作添加音效后,游戏的互动性得到了极大的增强。我深刻体会到了声音在游戏体验中的重要作用。通过合理地选择和运用音效,能够为玩家营造更加真实和生动的游戏环境,提高玩家的沉浸感和参与度。

五、PSP 表格

阶段 预估耗时 实际耗时 评价
计划 1小时 1小时 在计划阶段,对项目的整体开发时间进行了合理的预估,并制定了详细的开发计划。明确了每个阶段的主要任务和时间节点,为项目的顺利进行奠定了基础。
需求分析 1 小时 1 小时 准确理解作业要求,明确游戏功能和特色
设计 2 小时 2.5 小时 在界面设计和游戏逻辑设计上花费时间,最终方案合理
编码 8 小时 10 小时 编码过程中遇到问题,通过查阅资料和调试解决
测试 2 小时 2 小时 测试用例覆盖主要功能,发现并修复问题
博客撰写 2 小时 2 小时 详细介绍项目各方面,包括前端设计、技术实现、测试和 AIGC 任务等
总结与反思 1小时 1小时 在总结与反思阶段,对开发过程中的问题与经验进行了总结,并提出了改进方向。这一过程顺利完成,时间与预期相符。

总体评价

本次作业顺利完成,通过 Pygame 库实现了 “小猫日记” 风格的消除类小游戏,并添加了多种模式选择和神秘道具功能。开发过程中虽遇到问题,但都得以解决。未来可进一步优化游戏性能,增加更多道具和功能,提高游戏趣味性和挑战性。💖

posted @ 2024-09-18 23:02  III527  阅读(16)  评论(0编辑  收藏  举报