软件工程课程第二次个人作业
| 这个作业属于哪个课程 | 软件工程 https://edu.cnblogs.com/campus/fzu/SE2024 |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/SE2024/homework/13253 |
| 这个作业的目标 | 做一个“羊了个羊”小游戏 |
| 学号 | 102202109 |
GitHub仓库地址 :https://github.com/Victor-Bayim/Verybeginning
游戏名 : 投喂精灵
一、背景
以“羊了个羊”、“抓大鹅”为代表的小游戏,利用了人群碎片化的时间,实现了爆炸的营销热度,通过引流广告就让开发者取得了巨大的收益。而实际上这样的小游戏的开发的工作量没有传统游戏那么巨大。随着AIGC技术的发展,使得开发此类小游戏的所需要的时间和代价进一步降低。
二、游戏中算法的实现:我认为其他的部分不值一提,但是提示功能的算法是真的难倒我了,我最最开始的思路是先尝试简单粗暴的用贪心算法,但是发现因为图案的放置会分三层,当可直接被点击的图案中不足三个可消除的图案时,贪心算法就不能及时的实现提示的功能,所以在思考很久后我最终选择了先用贪心算法,然后在判定可直接被点击的图案中不足三个可消除的图案时使用DFS搜索,虽然算不上完美,效果相对还算可以。但遗憾的是其实在提交前的几个小时我已经有了新的思路,我认为生成图案的部分其实未必要使用随机生成的方式,生成图案的位置不能太简单的最终目的其实就是为了玩家的体验感,所以其实只需要让玩家觉得是随机排列的就足够了,所以我的思路是在生成图案时设定相对比较复杂的规律,比如设定一些图案的放置组合,这样一来实现提示功能的难度就大大降低了,只可惜我未能及时的意识到这一点,无法在本次作业中展示了,但是如果后续有时间或许我会在GitHub上更新提示的功能
三、游戏简述:
1.剧情:一觉醒来你穿越到了异世界,并获得了精灵,你需要用宝石来喂养。
2.玩法:在运行程序后会出现三个图片来简述剧情



都是按空格键跳过
剧情过后进入主菜单,有四个按钮可以选择

如果选择开始游戏则会出现选择精灵角色的界面

双击选择其中一个后进入填写玩家选择的精灵姓名的界面

然后就可以正式开始游戏了
游戏的核心玩法是图标消除。玩家通过点击屏幕上的图标,将图标加入底部方框中。如果底部方框中有三个或更多相同的图标,就会触发消除,以此来喂养精灵并获得相应的分数,如果点击超过7个图标都没能消除则失败

游戏实现了基础的提示功能,虽然没有做到完美,但是大多数情况都能提示出消除的图案

同时实现了非常完善的撤销功能

值得注意的亮点是:在消除图案的时候左下角的精灵会露出微笑

如果中途不想继续可以按esc退出,游戏会保存退出时的状态

选择继续游戏时可以再继续玩

对于难度的设计,游戏设定了五个关卡,随着关卡的提示,生成的图案的种类会增加
游戏胜利后

四、对于AIGC的使用:我使用了ChatGPT生成图片来确保不会造成侵权,并且也是用ChatGPT来辅助编写代码
浙公网安备 33010602011771号