软件工程课程第二次个人作业
这个作业属于哪个课程 | 软件工程2024 |
---|---|
这个作业要求在哪里 | 2024秋软件工程个人作业(第二次) |
这个作业的目标 | 完成游戏的基本功能和交互设计,熟练掌握AIGC工具 |
学号 | 102201426 |
一、项目展示
二、项目介绍
1.项目名称:羊了个羊(猫猫版)
2.界面设计
3.游戏逻辑
玩家点击小猫(图片)后,小猫(图片)会移动到下面的猫窝(收集框)中,当有三只一样的小猫时,它们会消除
猫窝最多只能容纳五只小猫,如果超过猫窝的容纳量,游戏失败
如果能将所有的小猫都送回家,那么游戏胜利
提醒一下,不单单要注意猫窝的容量哦,如果在规定的时间里没有将所有的小猫送回家,游戏也会失败
我想你会注意到游戏时间剩下10s(困难模式:30s)时那血红的倒计时的
4.难度设计
- 简单模式,限时1分钟,将18只猫猫送回家
- 困难模式,限时2分钟,将36只猫猫送回家,猫猫们叠在一起打闹,只有将上层的猫猫先拿开,才能抓到下层的猫猫哦
5.特色功能
-
增加撤销操作
当玩家点击撤销后,上一次抓到的猫猫会从猫窝跑回原来的位置上(可爱的猫猫遇上了心软的神啊) -
实现分数系统与排行榜功能,记录玩家的最高分
玩家消除一只猫猫则分数加一,游戏结束后,玩家成绩会记录到排行榜中
分数越高排名越高哦
当困难模式和简单模式的分数一致时,困难模式排在简单模式的前面
三、测试
点击查看测试代码
由于Pygame事件系统不直接支持在单元测试中模拟鼠标和键盘事件,上述测试中的pygame.mouse.set_pos()和pygame.event.post()只是示意性的,实际上在单元测试中没有发挥测试的作用。
四、AIGC表格
AIGC表格任务:小游戏分解子任务与AIGC应用分析
1. 小游戏可以分解成的几个小任务
子任务 | 借助何种AIGC技术,实现了什么功能 | 效果如何 |
---|---|---|
游戏初始化 | Cursor,设置屏幕尺寸、加载资源文件(图片、字体等)、初始化游戏状态等 | 很方便 |
用户界面绘制 | 文心一言,绘制开始界面、模式选择界面、排行榜界面、游戏界面、游戏结束界面 | 很方便 |
游戏逻辑处理 | 文心一言,鼠标点击事件处理、游戏模式选择、游戏难度设定、游戏进行逻辑等 | 很麻烦,ai不能很好的理解我的意思 |
排行榜处理 | 通义千问,读取排行榜数据、清空排行榜、保存排行榜数据等 | 有点麻烦,ai修正不了程序的bug |
游戏板绘制 | 文心一言,根据游戏难度绘制简单模式或困难模式的游戏板 | 有点麻烦 |
收集框处理 | 通义千问,管理收集框中的图片,包括添加、移除、检查三张相同图片等 | 很方便 |
游戏结束判定与结果展示 | 文心一言,判定游戏是否结束(如所有图片消除、时间耗尽等),展示游戏结果 | 有点麻烦 ,需要对代码逻辑进行调整 |
2. 预估哪些子任务可以利用AIGC
序号 | 任务名称 | 预估AIGC适用性 |
---|---|---|
1 | 游戏初始化 | 低(需要具体参数) |
2 | 用户界面绘制 | 中(模板生成) |
3 | 游戏逻辑处理 | 低(复杂逻辑) |
4 | 排行榜处理 | 中(数据处理) |
5 | 游戏板绘制 | 高(图形生成) |
6 | 收集框处理 | 中(逻辑简化) |
7 | 游戏结束判定与结果展示 | 中(结果展示) |
3. 实际中哪些部分利用了AIGC
- 用户界面绘制:使用AIGC技术根据提供的模板或设计自动生成用户界面元素(如按钮、标题等)的代码,提高开发效率
- 游戏板绘制:对于游戏板的布局和图案的生成,可以利用AIGC的图形生成能力,根据规则自动生成不同难度的游戏板
- 排行榜处理:在排行榜数据的读取、处理和保存过程中,可以利用AIGC进行数据处理模板的生成,简化代码编写
4. AIGC技术的优缺点,适合用在哪些方面,不适合实现哪些功能?
优点:
- 提高效率:自动化生成大量重复性代码,减少人工编写时间。
- 创新设计:通过算法生成新的图形、界面元素,激发设计灵感。
- 快速原型开发:快速搭建游戏或应用的基本框架,方便后续迭代。
缺点:
- 复杂逻辑难以处理:对于需要复杂逻辑判断和处理的任务,AIGC的生成效果可能不理想。
- 高度定制化需求:对于需要高度定制化的设计或功能,AIGC可能无法完全满足要求。
- 依赖外部工具:AIGC通常依赖于特定的工具或平台,学习曲线可能较高。
适合用在哪些方面:
- 界面设计:自动生成界面元素和布局。
- 数据处理:自动生成数据处理模板和逻辑。
- 原型开发:快速搭建应用或游戏的原型。
不适合实现哪些功能:
- 复杂逻辑:如游戏的核心玩法、AI策略等。
- 高度定制化需求:如特定风格的艺术设计、复杂的用户交互流程等。
- 需要人工审核的内容:如游戏剧情、文案等,需要人类进行创意和审核。
五、PSP表格
项目名称:羊了个羊(猫猫版)小游戏开发
角色:开发者
PSP阶段 | 任务描述 | 预估耗时(小时) | 实际耗时(小时) |
---|---|---|---|
规划 | 需求分析,设计游戏结构和逻辑 | 8 | 2 |
确定使用的库和工具(如pygame) | 2 | 2 | |
设计 | 设计游戏界面和用户交互方式 | 4 | 3 |
设计游戏关卡和难度等级 | 6 | 1 | |
设计排行榜和数据存储方式 | 2 | 3 | |
编码 | 初始化游戏环境(包括屏幕、字体等) | 3 | 4 |
实现游戏逻辑(简单模式和困难模式) | 16 | 15 | |
实现游戏界面切换(如开始界面、排行榜) | 6 | 2 | |
测试 | 功能测试(如游戏流程、难度变化) | 8 | 1 |
用户体验测试(界面友好性、交互便捷性) | 4 | 1 | |
维护 | 修正发现的bug和接收用户反馈进行迭代 | -(持续) |
六、个人评价
本次小游戏的开发过程有些艰辛,对python语言和pygame库不是很了解,一些用法不熟悉,但还好,ai能及时的帮助我。我利用ai较快的搭建了我的游戏的整个界面及其切换,但是,完全利用ai来写也很难,ai往往不能在我第一次描述时就给我想要的代码,特别是一些复杂逻辑的游戏代码,需要我对代码进行反复调整,来达到我想要的效果。我在这个流程中对python语言有了一定了解,但我还需加强对高级语言的学习。这个小游戏还有很多可以进一步丰富的地方,也还存在一些我无从下手的bug,我还需要学习。
__EOF__

本文作者:JQseventeen
本文链接:https://www.cnblogs.com/JQseventeen/p/18419417.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/JQseventeen/p/18419417.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了