随笔 - 5  文章 - 0  评论 - 0  阅读 - 70

软件工程第二次作业

前言:

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13253
这个作业的目标 学会结合使用AIGC开发简单的游戏项目
学号 052206123

一、项目展示
个人仓库:https://github.com/muyingcongke/muyingcongke

二、项目介绍
1.前端介绍:
菜单界面有四个按钮:分别对应简单难度、普通难度和困难难度和退出游戏。选择难度后便进入游戏界面,游戏玩法和羊了个羊一样,游戏结束后可选择重新游戏,具体可看下图:

2.算法介绍:
游戏内部主要是运用Python库pygame,其中最核心便是图片生成算法。当选择了难度后,算法会根据选择的难度设置卡牌(图片)的种类数量、地图的层数、图片的数量,而图片生成的具体坐标点,则是存在map.txt文件中,该文件用特定的格式记录了每层图片的可生成的坐标。算法会随机生成图片载入这些坐标点中,生成游戏界面中的地图。其余的像倒计时实现、图片移动和消除等pygame都有固定的格式和用法,这里就不过多赘述。
3.测试
我本人是选择了人工测试(对处理这种鼠标点击的程序没有方法),基本就是每次代码优化的时候会进行测试,将不同难度、可能的结果(倒计时结束,底部槽满等)都测试了一遍,目前的版本基本没有大bug。

可以直接到我的github仓库下载文件,自己进行游戏更能获得深切的感受。
三、总结
1.AIGC表格(Cursor IDE)

子任务 实现了什么功能 效果如何
游戏框架形成 生成一份基本的pygame框架 很好,完美完成任务
文件加载 把图片、字体等加载到主程序中 节省了大量写代码的时间
绘制任务 对屏幕、按钮、图片的生成 可以对图片进行阴影处理,使图片更真实

使用心得:十分好用,对于一些框架以及具有固定格式的方法,如载入字体文件,按钮类生成等可以完美自动形成,并且可不断补充、添加新的功能,满足新的需求。同时,AIGC还可以辅助学习。在编写代码的过程中,本人对AIGC生成的代码有些疑惑,而AI可以很好的解释代码中的用法与思想,这使得我在这几天的开发中,不仅对python代码的编写更加熟练,且对pygame有了更进一步的了解。但AI在编写算法中也有些不足,例如我在图片生成中,AI对于图片之间的覆盖便处理的很差,经常能看到两种图片重叠却无法识别出重叠,导致两张图片属于不同层,生成的图片却像在同一层次。还有AI更注重于模块化的方法,导致函数之间有许多类似的功能,性能有些下降,但另一方面这也能使得代码更加模块化、清晰明了。

2.psp表格

任务 预估耗时(小时) 实际耗时(小时)
项目策划 1.5 4
pygame学习 3.5 2
基本框架搭建 1 0.5
内部算法实现 8 12
测试与调试 1.5 3
项目文件规范化 0.5 0.5

在这次开发中,我意识到了自己还有许多的不足。在项目策划阶段,我因为对游戏本身的了解不够深刻,导致了我对各种任务的预计与实际有很多偏差,特别是在图片生成的部分,低估了图片生成的复杂性,导致了在开发中走了很多弯路。但在这次开发中我个人觉得收获满满的。首先是AIGC的使用,不仅能够辅助我写代码,还能用AIGC辅助学习,学习效率直线上升。其次是经验部分,这次的开发虽然匆忙(时间没有规划好),但我依旧得到了许多经验,对之后的项目开发也有了一定的预估。总的来说,虽然我在这次的任务中完成效果较差,但我收获了许多经验,对于开发也有了更多的信心与兴趣。

posted on   暮影从柯  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示