这个作业属于哪个课程 | 软件工程 |
---|---|
这个作业要求在哪里 | 查看作业要求 |
这个作业的目标 | 学会写一个游戏 |
学号 | 102202152 |
打造“羊了个羊”风格消除类小游戏🤩🤩
项目介绍🥇🥇
项目背景🖼️🖼️
在这个快节奏的时代,小游戏以其简单易上手、随时可玩的特点赢得了广大用户的喜爱。本次项目旨在利用Python编程语言结合Pygame图形库,以及GitHub、Kimi等AIGC工具,开发一款类似“羊了个羊”的消除类小游戏。游戏不仅注重娱乐性和挑战性,还通过AIGC技术降低了开发难度和成本。
前端设计与特色功能(这是首先要介绍的,最累最难的😰😨)
界面设计🥳
🎆🎇🧨✨主菜单:提供开始游戏和退出游戏的选项。
🥉🏅🎖️🔮🪄游戏界面:展示图案的分层摆放,玩家通过点击选择图案进行消除。
在这一部分完成的有点不太好,图案的分层有些许的😒
🐯🦁🦒🐻 结束界面:显示游戏结果,包括是否成功、用时及得分等信息。
🐥🐧🦇🪶🐣游戏逻辑
1️⃣实现图案的随机生成与分层摆放。
2️⃣玩家通过点击图案进行匹配消除。
3️⃣当所有图案被消除时,游戏胜利;若倒计时结束前未完成消除,则游戏失败。
😒难度设置
游戏提供不同的关卡,每个关卡图案的摆放和消除难度逐渐增加,以挑战玩家的反应速度和策略规划能力。在这一部分代码一直出现问题🥺🥺🥺
技术与算法💻
编程语言:Python
图形库:Pygame
AIGC工具:GitHub和Kimi用于辅助编写代码,提高开发效率
特殊算法:实现图案的随机生成与匹配消除算法,确保游戏的公平性和可玩性
实现思路
1️⃣界面设计
利用Pygame库创建游戏窗口,并设计不同界面之间的切换逻辑。主菜单界面显示简单的按钮,游戏界面则根据图案的摆放动态渲染,结束界面则展示最终的游戏结果。
2️⃣游戏逻辑
图案生成与摆放
通过随机算法生成图案,并根据难度设置进行分层摆放。图案可以是简单的图形或图标,通过Pygame的绘图功能进行渲染。
3️⃣点击消除
监听玩家点击事件,判断点击的图案是否与相邻图案匹配(通常是根据图案类型或颜色)。若匹配,则消除该图案及其相邻的匹配图案,并重新渲染游戏界面。
4️⃣倒计时机制
设置游戏时间限制,通过Pygame的定时器功能实现倒计时。当时间耗尽时,游戏结束,并显示失败界面。
5️⃣难度设置
玩家可以通过通关所获得的次数来买时间,以便于有更多的时间通过游戏
测试与评价📔📔
1️⃣测试样例
基本功能测试:确保游戏能够正常启动、显示各个界面,并响应玩家的点击操作。
https://s31.aconvert.com/convert/p3r68-cdx67/hr5lu-jahuy.webm
2️⃣匹配消除测试:测试图案的匹配消除功能,确保算法能够正确识别并消除匹配的图案。
https://s19.aconvert.com/convert/p3r68-cdx67/7rn4k-y0zdg.webm
3️⃣难度测试:在不同难度的关卡下测试游戏,确保难度逐渐增加且符合设计要求。
https://s17.aconvert.com/convert/p3r68-cdx67/ra68z-m5rih.webm
4️⃣测试结果
https://s21.aconvert.com/convert/p3r68-cdx67/2ybep-g545j.webm
经过测试,游戏的基本功能得到验证,匹配消除算法基本能够完成🤗🤗🤗🤗
AIGC应用与心得
AIGC表格任务
❤️小任务:是否可利用AIGC:实际利用AIGC
✨界面设计:是(辅助编写绘图代码)
🎨游戏逻辑实现:是(生成匹配消除算法框架)
🎪难度设置:是(生成随机生成图案的代码)
⏲️倒计时机制:是(编写计时器代码)
AIGC技术的优缺点🎇🧨✨🎀🧧🤐😥😫🫤🙃
🍧优点:
1️⃣提高开发效率,减少重复性工作。
2️⃣辅助实现复杂算法和逻辑,降低开发难度。
3️⃣学习个人代码风格,提高代码一致性。
🤐缺点:
1️⃣生成的代码可能不够优化,需要人工调整。
2️⃣对于特定领域的专业知识理解有限,可能无法完全满足需求。
3️⃣依赖网络连接,无网络时无法使用。
AIGC技术适用场景🎡🛒🥼👖👜
🎑🎞️🛝🎠🎨👓适合用在哪些方面:
1️⃣AIGC技术适合用于实现重复性高、逻辑相对简单的代码部分,如界面绘制、数据处理等。
2️⃣它也适用于辅助实现复杂的算法框架和逻辑结构。
🍰🍡🍭🥛🍼不适合实现哪些功能:
1️⃣对于需要高度定制化和专业知识的功能,如复杂的物理引擎、AI算法等,AIGC技术可能难以胜任。
2️⃣对于需要精确控制性能和资源消耗的场景,也需要谨慎使用AIGC生成的代码。
🚄🏎️🏍️🚟🚠🛬✈️PSP表格
任务阶段 | 预估耗时(小时) | 实际耗时(小时) |
---|---|---|
需求分析 | 2 | 2.5 |
设计 | 3 | 3.5 |
编码 | 15 | 18 |
测试 | 3 | 4 |
撰写文档 | 1 | 2 |
Github账号与链接
账号:https://github.com/zjw-1212
文件链接:https://github.com/zjw-1212/gamegame
💡🪔🔖📮📭📍心得体会
通过本次项目的开发,我深刻体会到了AIGC技术在软件开发中的巨大潜力。它不仅能够提高开发效率,还能辅助实现复杂的算法和逻辑。然而,我也意识到AIGC技术并非万能的,它也需要人为地去一遍一遍调试。最主要的是我认识到自己的能力,如果是我现在的能力简直就是完全被ai取代。不过通过这次作业自己做了一个小游戏还是很开心的,虽然做的很垃圾🤯🤯🥹🥹🫣🫣🫢🫢