软件工程第二次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024/
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13253
这个作业的目标 开发类似“羊了个羊”风格的消除类小游戏,学习使用AIGC编写代码
学号 042201401

已上传github链接:https://github.com/786260029/sheep_game

一、环境与工作准备

安装pygame

安装AIGC:codegeex

本次作业还用到了Kimi、openai等AI产品。本次作业所用的图片是可用于菲商业用途的,且我没有去水印(仔细看能看见

二、游戏功能需求分析

界面设计

游戏界面采用Pygame图形库进行构建,包括主菜单、游戏界面和结束界面。主菜单简洁明了,提供开始游戏和退出选项;游戏界面则注重图案的分层摆放与视觉效果,确保玩家能够清晰识别并操作;结束界面则根据游戏结果给出相应的反馈。

游戏逻辑

  • 图案生成与消除:实现了图案的随机生成与分层摆放,确保玩家能够通过点击匹配并消除相同图案。
  • 倒计时机制:引入了倒计时功能,增加了游戏的紧张感和挑战性。
  • 难度设置:通过随机生成图案摆放顺序或设置不同关卡,逐步提升游戏难度,保持玩家的兴趣。

代码与AIGC结合

在本次项目中,我充分利用了CodeGeex等AIGC工具,辅助完成了约30%的代码编写工作。这些自动生成的代码片段不仅提高了开发效率,还在一定程度上保持了代码结构的清晰和可读性。

项目展示与测试

项目展示

项目代码已上传至[GitHub仓库]https://github.com/786260029/sheep_game),欢迎查阅和下载。

AIGC技术应用与反思

AIGC表格任务

子任务 借助AIGC技术 实现功能 效果
代码大纲 openai 编写代码框架,使我编写代码时逻辑更清晰 提高作业效率
对游戏主循环game_interface()函数的完善 KIMI 修改代码bug,解决图案一直闪现的问题 很好,解决了我没注意到的代码中的细节
注释编写 CodeGeex 辅助解释代码内容 提高作业效率

优缺点分析

优点

  • 提高开发效率:AIGC工具能够快速生成代码片段和设计方案,减轻开发者负担。
  • 保持代码质量:通过学习和模仿个人代码风格,自动生成的代码具有较好的可读性和可维护性。

缺点

  • 依赖性强:过度依赖AIGC可能导致开发者失去对细节的掌控能力。
  • 创造性受限:自动生成的内容可能缺乏创新和独特性。

适合与不适合的功能

适合

  • 重复性高的代码编写工作。
  • 基于已知模式的算法实现。
  • 简单的界面布局和设计。

不适合

  • 需要高度创造性的设计任务。
  • 复杂逻辑和算法的独立开发。
  • 涉及用户体验和交互细节的优化。

心得体会

  • ai对于处理较短较简单的要求还是很聪明的,能够完整的写出一些函数(虽然经常需要返工,多次讲述要求都不明白,这个时候要么新建对话要么换个ai,总之ai是会被用傻的)对于多重要求和两三百行以上的代码,ai几乎不能很好的处理,有时修改一个bug时就偷偷把某个函数全部删掉了
  • ai写注释写得很不错,每一行在干什么都很清楚
  • 对于整体游戏逻辑的把握还是要靠自己。

PSP表格与总结

PSP阶段 活动描述 预估时间(分钟) 实际时间(分钟) 备注
规划阶段 确定项目目标和范围 60 20 仔细阅读作业要求并思考如何下手
规划阶段 制定计划 30 10 设定时间表,分配资源
开发阶段 编写游戏主菜单和界面代码 60 160 利用Pygame实现界面元素和鼠标点击判定
开发阶段 实现图案生成与消除功能 180 240 编写随机生成和匹配消除逻辑
开发阶段 添加倒计时和难度设置功能 120 30 引入时间控制和难度调整机制
开发阶段 集成AIGC生成的代码片段 60 240 审查和整合自动生成的代码并修改
测试阶段 编写测试用例并执行测试 90 180 包括界面交互、逻辑功能和性能评估
测试阶段 修复发现的bug和进行回归测试 60 180 迭代测试,确保代码稳定
评估与总结阶段 评估项目成果和性能 45 50 分析项目数据,评估成功和不足之处
评估与总结阶段 撰写项目报告和文档 60 70 记录项目经验,总结技术和管理方面的收获
总计 7605 1180 包括了所有阶段和活动的预估与实际时间,帮助分析时间管理效率
posted @ 2024-09-18 22:47  Valerie2077  阅读(15)  评论(0编辑  收藏  举报