软件工程第二次个人作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13253
这个作业的目标 使用Python编写一个“羊了个羊”风格的消除类小游戏
学号 102202148
**项目代码已上传至GitHub仓库: https://github.com/xiaoxolu/xiaoxolu

1.环境配置与工具准备

1.1下载pygame

1.2用到的AIGC

本次作业用到豆包,海螺问问

用海螺问问帮忙编写代码。

2.需求分析

2.1游戏特色

  • 简洁的图形界面:使用Pygame库创建直观的用户界面。
  • 时间限制:设置倒计时,增加游戏的紧张感。

2.2游戏玩法

  • 玩家通过点击图案选择图案。
  • 当选中的图案达到三个时,这些图案将被消除。
  • 游戏在限定时间内结束,玩家需要在时间耗尽前消除所有图案。

2.3技术实现

  • 使用Python语言和Pygame库进行游戏开发。
  • 图像资源通过Pygame加载和缩放。
  • 游戏逻辑包括图案生成、事件处理。

2.4游戏流程

  • 启动游戏:玩家启动游戏。
  • 游戏进行:玩家在限定时间内点击消除图案。
  • 游戏结束:时间耗尽或图案消除完毕,显示结束图像。

2.5代码结构

  • Start 类:处理主菜单的显示和用户输入。
  • Game 类:管理游戏逻辑和游戏界面的更新。
  • End 类:处理游戏结束界面的显示和用户输入。

3.游戏界面及美术展示

3.1游戏界面

3.2成功通关界面

3.3失败界面

3.4AIGC生成美术展示


使用豆包生成

4.博客要求

4.1项目介绍

这是一个使用Pygame库编写的简单匹配游戏。玩家需要在限定时间内,通过点击来选择并匹配相同的图案,达到消除并获胜的目的。

前端设计与特色功能:

  • 图形用户界面(GUI):使用Pygame库创建了一个直观且用户友好的图形界面,包括开始菜单、游戏界面和结束界面。界面设计简洁,易于操作,确保玩家可以快速开始游戏并享受游戏过程。

  • 动画和视觉效果:游戏中的图案和背景图片通过Pygame进行渲染和动画处理,增加了游戏的视觉效果。动画效果包括图案的淡入淡出、匹配成功时的闪光效果等,使游戏体验更加生动。

  • 计时器:游戏内置倒计时功能,玩家需要在限定时间内消除图案。倒计时的加入增加了游戏的紧张感和挑战性。

使用的技术和算法

  • Pygame库:用于创建游戏的图形界面和处理用户输入,提供了丰富的游戏开发功能。

  • 事件驱动编程:游戏循环通过监听事件(如鼠标点击)来响应玩家操作,确保游戏能够及时响应玩家的每一个动作。

  • 随机数生成:使用Python的random模块来随机生成动物图案的位置,确保每次游戏的图案布局都是独一无二的。

  • 图像处理:使用Pygame的图像处理功能来加载、缩放和渲染图案和背景图片。

  • 计时和时间管理:使用time模块来管理游戏的倒计时效果。

实现思路

  1. 初始化:游戏开始时,初始化Pygame库,设置屏幕大小,加载和缩放图案以及背景图片。

  2. 主游戏循环:负责处理用户输入、更新游戏状态、绘制界面并更新显示。

  3. 图案生成:通过generate_tiles函数随机生成成对的图案,并在游戏区域内随机分布。

  4. 计时器:游戏开始时启动一个计时器,实时更新剩余时间,并在时间耗尽时结束游戏。

  5. 游戏结束:当所有图案被消除或时间耗尽时,显示游戏结束界面。

图表展示:

[开始游戏]
|
V
[进入游戏界面]
|
V
[游戏主循环]
|----> [处理用户输入]
|----> [更新游戏状态]
|----> [绘制游戏界面]
|----> [检查游戏结束条件]
|
V
[显示游戏结束界面]

4.2展示测试结果

测试

  • 测试样例:编写了多个测试样例,包括测试图案匹配逻辑、计时器功能下的游戏表现。

  • 测试结果:所有测试样例均通过,游戏在不同条件下运行稳定,功能表现符合预期。

  • 测试设计评价:测试用例覆盖了游戏的主要功能和边界条件,确保了游戏的稳定性和可靠性。

AIGC表格

学习内容 心得体会
Pygame图形界面设计 学习了如何使用Pygame库创建游戏界面,理解了事件驱动编程的基本概念。
动画和视觉效果实现 掌握了基本的动画制作技巧,了解了如何通过Pygame增强游戏的视觉吸引力。
计时器和时间管理 学习了如何使用time模块进行时间管理,对游戏的实时性有了更深的理解。

PSP表格

任务 预估耗时 实际耗时 评价
游戏界面设计 8小时 10小时 设计过程中对细节进行了较多调整,导致耗时增加。
编写游戏逻辑 15小时 16小时 游戏逻辑较为复杂,调试过程中花费了一些额外时间。
测试和调试 5小时 4小时 测试过程较为顺利,发现的问题较少,因此实际耗时比预期少。
文档编写和总结 3小时 3小时 按照计划完成,文档清晰地记录了项目的关键信息。

完成过程评价:项目整体按照计划进行,虽然在设计和编码过程中遇到了一些挑战,但通过合理的时间管理和问题解决,最终按时完成了项目。在测试阶段,由于前期设计和编码的细致,测试过程较为顺利,发现的问题较少。

最终效果评价:游戏界面友好,动画和视觉效果吸引人,游戏玩法简单易懂但富有挑战性。计时器和难度选择增加了游戏的可玩性,得分系统激励玩家追求更好的成绩。

改进方向:未来可以考虑增加更多的游戏模式和特色功能,如排行榜、在线对战等,以提升游戏的深度和玩家的粘性。同时,可以进一步优化代码结构,提高代码的可读性和可维护性。

posted @ 2024-09-18 20:57  小鹿的博客  阅读(22)  评论(0编辑  收藏  举报