软件工程第二次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13253
这个作业的目标 学习利用AIGC工具进行辅助编程和做小游戏
学号 102201511

项目展示

Github仓库链接:https://github.com/tengenf/tengenf

一.项目介绍

该游戏是一个羊了个羊的简单版本,游戏设置有普通和困难2个模式,普通模式下,2张相同的牌进入卡槽且相邻,就会消除这2张牌。困难模式下,要3张相同且相邻的卡牌进入卡槽,才会消除。
卡堆分为4层,被上一层卡牌遮盖的卡牌不可选中,同时,被上面一层卡牌完全遮盖的卡牌的信息是位置的。该游戏同样也设置了倒计时功能,时间一到 未完成的话,就会判定为失败。还有一个额外的游戏道具
如果你卡堆快满了,你可以点击清理按钮,让卡牌从卡堆里面出来,再重新放置。

二.界面设计

1.主界面

2.游戏界面

3.道具效果


普通模式和困难模式所不同的就是,消除的条件不同,普通模式要2个相同的图片,而困难模式要3个相同的图片

结算画面

失败时:

成功时:

三.AIGC子任务表格以及项目的学习表格:

AIGC子任务表格

任务 子任务 状态 备注
初始化游戏环境 设置Pygame环境 完成 包括初始化窗口和基本配置
定义游戏属性 完成 包括标题、尺寸、帧率等
加载资源 完成 包括图像、字体等
游戏逻辑开发 难度选择 完成 实现难度选择界面和逻辑
牌类定义 完成 定义卡牌属性和行为
游戏状态更新 完成 包括时间更新和输赢判断
鼠标交互 完成 实现点击卡牌和道具的逻辑
消除逻辑 完成 根据难度实现卡牌消除规则
UI设计 游戏界面绘制 完成 包括背景、卡牌、道具等绘制
结果显示 完成 显示游戏结束、胜利或失败
倒计时显示 完成 显示游戏剩余时间
用户体验优化 待开始 根据反馈优化游戏体验

项目学习表格

学习内容 任务描述 完成情况 收获与反思
Pygame 基础 学习如何使用 Pygame 库进行游戏开发 完成 掌握了 Pygame 的基本操作,如窗口创建、事件处理、图像加载和显示
面向对象编程 设计和实现游戏中的角色和对象 完成 通过创建 CustomTile 类,加深了对面向对象编程的理解
事件驱动编程 实现鼠标点击和键盘操作的响应 完成 学会了如何处理用户输入,提升了交互设计的技巧
图形和动画 制作和使用游戏内的图形和动画效果 进行中 正在学习如何优化游戏视觉效果,提高用户体验
游戏逻辑设计 设计游戏规则和逻辑 完成 通过设计卡牌消除规则,锻炼了逻辑思维和问题解决能力
难度调整机制 实现不同难度级别的游戏玩法 完成 理解了如何根据不同玩家的需求调整游戏难度
资源管理 管理游戏中的资源,如卡牌和道具 完成 学习了如何有效管理和优化游戏资源的使用
测试与调试 测试游戏功能并修复发现的问题 进行中 在测试过程中发现了一些bug,正在学习如何系统地进行测试和调试
用户界面设计 设计直观易用的游戏界面 完成 通过设计游戏界面,提高了对用户体验的认识
游戏优化 根据测试反馈优化游戏性能 待开始 计划学习更多关于性能优化的知识,以提升游戏运行效率
文档编写 编写游戏使用说明和开发文档 待开始 意识到文档对于玩家和开发者都非常重要,计划开始编写

PSP表格

学习阶段 任务描述 预计学习时间 实际消耗时间 备注
环境搭建 配置Pygame开发环境 1小时 1小时30分钟 包括安装Pygame和配置IDE
基础学习 学习Pygame基础知识 3小时 4小时 主要包括事件处理、图像加载和基本的游戏循环
面向对象编程 设计游戏对象和类结构 2小时 3小时 设计了CustomTile类和游戏的基本框架
游戏逻辑开发 实现游戏核心逻辑 6小时 7小时 包括卡牌生成、消除逻辑和难度设置
图形和界面设计 设计游戏界面和加载图像资源 4小时 5小时 加载了背景、卡牌和道具图像,设计了游戏界面布局
事件处理 实现鼠标和键盘事件处理 3小时 4小时 实现了点击卡牌和使用道具的交互逻辑
测试与调试 测试游戏功能并修复bug 5小时 6小时 发现并修复了一些逻辑和显示错误
文档编写 编写游戏使用说明和开发文档 2小时 2小时 编写了简单的游戏规则说明和开发文档
总结与反思 回顾整个开发过程并总结经验 1小时 1小时30分钟 分析了开发过程中的成功点和需要改进的地方

总计预计时间:31小时
总计实际消耗时间:36小时30分钟

四.心得体会

通过本次项目,我深入学习了Pygame库,掌握了游戏窗口的创建、事件处理、图形渲染等关键技术。在面向对象编程方面,我设计了卡牌类,实现了卡牌的属性和行为管理。此外,我还学习了如何实现游戏逻辑,包括卡牌的生成、选择、消除以及游戏胜负的判断。通过设置倒计时和道具系统,我进一步理解了游戏机制的复杂性。在图形和界面设计方面,我通过加载和绘制图像资源,提升了游戏的视觉体验。最后,通过测试和调试,我学会了如何发现并修复游戏中的问题,确保了游戏的稳定性和可玩性

posted on 2024-09-18 15:58  永乐st  阅读(6)  评论(0编辑  收藏  举报

导航