软件工程第二次作业
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/SE2024 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/SE2024/homework/13253 |
这个作业的目标 | 学习使用AIGC辅助编程,探究使用AIGC方法 |
学号 | 102201118 |
GITHUB仓库链接
https://github.com/lijiatuluy/sheep/tree/master
项目介绍
-
背景
这是个基于羊了个羊开发的小游戏,主要内容是从堆叠的图片中选择放入下槽中,若出现三个连续相同的图片则会消除,若在规定时间内将面板上所有图片消除,则游戏成功,若槽满溢出或者倒计时结束未能全部消除则游戏结束。
其中的图片选自我逛博物馆时拍到的一些有趣的动物泥塑文物,它们形态各异,造型生动,体现了古人对现实的观察与对美的追求。 -
运行截图
-
完成项目过程
由于此前对python全无了解,所以最开始的设想是将需求描述给AI,它能直接帮助我生成代码,复制粘贴运行搞定!但是实际并不如此顺利- 完成了安装和导入pygame
- 确定基本需求,考虑如何跟ai描述
- ai生成完整代码,复制pycharm,运行失败,重新描述需求,重新生成,运行失败*N
- 分析ai给出的代码,了解到程序框架,要实现的几个基本函数
- 学习如何加载图片,如何设置背景
- 学习如何实现图片堆叠效果
- 学习如何根据坐标判断鼠标选中的图块
- 学习倒计时系统如何实现
- 学习主函数逻辑
- 扩展功能,设置延时道具
这些学习都是在ai给出的代码或实现逻辑的基础上,多次询问ai细节,阅读思考后完成的。其中在计时器的实现时,ai给出的代码有错误,时间跳变得非常快。发现将现象描述给ai后,它能自行纠错,发现错误原因是没有及时更新currenttime变量。
-
AIGC表格
子任务 | 借助何种AIGC技术,实现什么功能 | 效果如何 |
---|---|---|
设计程序框架 | 借助豆包,给出程序框架,基本功能函数,打开思路 | 效果好 |
倒计时系统设置 | 借助豆包,实时显示剩余的时间 | 起初有错误,经提醒后成功修改 |
鼠标定位图块 | 借助豆包,通过数学表达式定位鼠标 | 生成表达式逻辑清晰,还能让它拆解给我解释 |
主函数逻辑 | 借助豆包,生成主函数中各函数调用逻辑 | 效果好 |
测试用例 | 借助豆包,生成对程序的测试用例 | 基本实现需求 |
- psp表格
任务描述 | 预估用时间(h) | 实际用时 |
---|---|---|
需求分析 | 0.5 | 0.5 |
安装配置环境 | 1 | 0.5 |
导入copilot | 0.3 | 1.5 |
了解python基础知识 | 3 | 2 |
利用ai辅助编写代码 | 3 | 5 |
测试,完善代码 | 1 | 3 |
合计 | 8.8 | 12.5 |
- 评价和分析
由于缺乏实战经验,代码能力较弱,且开始的时间较迟,导致时间比较赶,只能说勉强完成任务,成果很丑陋,希望下次能更好。aigc工具的功能十分强大,但是生成内容会有错误,有时不一定能领会我的意图。我们自己需要提高水平,具备辨析能力,才能更好地利用ai工具。