软件工程第二次作业

这个作业属于哪个课程 < https://edu.cnblogs.com/campus/fzu/SE2024>
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13253
这个作业的目标 学着利用AIGC用python编写羊了个羊类似小游戏,学会用ai辅助写代码
学号 102201315
一.项目展示:Github仓库链接:https://github.com/kk1225-clt/kk1225-clt/blob/main/消了个消
二.项目介绍:
利用aicg生成独特的照片运用于游戏。
并且利用ai辅助实现小游戏的开发与进行。
实现思路:1. 游戏结构设计
程序主要实现了一个图案消除类的游戏,玩家需要通过选择匹配的图案来获得分数。游戏的结构主要包括初始化、游戏主循环、用户输入处理、图案生成和消除逻辑等模块。
  1. 初始化设置
    Pygame初始化:使用 pygame.init() 初始化 Pygame 库。
    难度设置:定义不同的难度级别,包括游戏时间、每个位置的图案数量和炸弹使用限制。
    常量定义:设定游戏窗口的尺寸、图案大小、颜色、字体等。
  2. 图像加载
    图案和炸弹图像:通过加载指定路径的图像文件并进行缩放,准备游戏中所需的图案和炸弹图标。
  3. 游戏板生成
    游戏板:创建一个二维列表(board),每个元素包含图案堆栈。图案的数量和类型根据当前难度随机生成。
  4. 游戏主循环
    事件处理:通过 pygame.event.get() 获取用户输入(如点击鼠标),判断是否选择图案或使用炸弹。
    图案消除:当玩家选择了两个图案时,判断这两个图案是否匹配。如果匹配,移除图案并增加分数;如果不匹配,则触发炸弹效果。
    胜利和失败检查:在每个循环中检查是否满足胜利条件(所有图案消除)或失败条件(时间用尽或没有可匹配的图案)。
  5. 界面展示
    绘制界面:根据当前游戏状态绘制游戏界面,包括游戏板、分数、计时器和工具栏。
    显示胜利或失败界面:在游戏结束时显示相应的界面和消息。
  6. 函数化设计
    通过将功能模块化为多个函数,便于代码的维护和理解。例如,draw_board()、show_end_screen()等函数分别负责绘制游戏板和显示结束界面。
    总结
    该程序通过事件驱动的方式实现了一个图案消除的小游戏,涵盖了从初始化、游戏逻辑到用户交互的完整流程。模块化设计提高了代码的可读性和可维护性。通过随机生成图案和不同的难度设置,增加了游戏的趣味性和挑战性。
    三.测试:
    游戏开始界面
    简单模式
    困难模式
    地狱模式
    胜利
    失败
    看广告通过
    四.AIGC表格
    | 学到的内容 | 具体描述 | 心得体会|
    | Pygame库的基本使用 | 学习了如何使用Pygame进行窗口创建、图像加载和事件处理。| Pygame提供了丰富的功能,适合开发2D游戏,初学者友好。|
    | 难度设置与游戏平衡| 通过设置不同的难度级别来调整游戏的挑战性和趣味性。 | 游戏平衡是关键,适当的难度可以提升玩家体验。|
    | 事件驱动编程 | 理解了如何处理用户输入和游戏事件循环。| 事件驱动模型使游戏能够实时响应用户操作,提高互动性。|
    | 图案生成与消除逻辑| 实现了随机生成图案并检测匹配的功能。| 理解了数据结构在游戏中的重要性,灵活使用列表和堆栈。|
    | 图形与界面设计| 学习了如何使用图像和文字在窗口中绘制游戏界面。| 界面设计直接影响用户体验,视觉效果很重要。|
    | 函数化编程 | 将程序拆分为多个函数,提高了代码的可读性和可维护性。| 模块化设计使得功能清晰,便于调试和扩展。|
    | 时间管理与计时器| 学会了如何使用Pygame的时间功能来限制游戏时间。 | 计时器的设计增加了游戏的紧迫感,使玩家更加投入。|
    | 错误处理与调试 | 学习了如何捕获和处理加载图像等过程中可能出现的错误。| 及时的错误处理可以提高程序的稳定性和用户体验。|
    五.PSP表格
    任务 预估耗时 (小时) 实际耗时 (小时) 完成情况 评价与分析
    需求分析 2 2 完成 需求明确,理解清晰。
    界面设计 3 4 完成 设计过程中多次修改,最终效果满意,但时间超出预期。
    游戏逻辑实现 5 6 完成 逻辑实现顺利,但遇到一些边界条件问题,需改进调试能力。
    图像加载与处理 2 1.5 完成 图像加载顺利,优化了加载速度。
    测试与修复 3 4 完成 测试覆盖面不够,需要在未来增加测试用例的数量。
    文档编写与总结 2 2.5 完成 文档编写过程流畅,但总结部分较为简略,可以更详细。
    2.完成过程和最终效果评价
    2.1完成情况:大部分任务按时完成,但部分任务因复杂性超出预期。
    2.2做得好的地方:
    需求分析阶段做得非常好,明确了项目的基本功能和要求。
    图像加载与处理部分效率高,提升了游戏体验。
    2.3改进的地方:
    界面设计阶段耗时较长,未来可以在设计前多做一些原型或草图,以减少修改次数。
    在游戏逻辑实现时,提前考虑边界条件和异常情况,可以减少后续调试的时间。
    测试环节需要更多的计划与时间分配,确保覆盖更多的用例,提升软件质量。
    2.4总结
    通过PSP表格的记录,可以更清晰地了解各任务的耗时情况,并对整个项目的进度和质量进行有效的反思。未来的项目中,将继续运用这种方法进行任务分解和时间管理,以提高工作效率和项目质量。
posted @ 2024-09-18 23:47  Kk陈亮腾  阅读(7)  评论(0编辑  收藏  举报