2024秋软件工程个人作业(第二次)
游戏所实现的功能
1.使用Pygame设计了游戏界面,包括主菜单、游戏界面和结束界面。
2.
实现了图案的生成与分层摆放,确保图案能够被合理匹配和消除。
玩家可以通过点击选择图案并消除,当所有图案被消除时游戏结束。
设置了倒计时机制,时间结束时游戏失败。
3.随机生成图案并设置了普通与简单模式以增加游戏挑战性
代码要求
1.使用cursor完成了此次任务,代码有9成9是ai生成的,我基本只负责了调试ai与寻找材料
2.本次设计所使用的图片均为ai生成,下图为初始界面
所有图片均在github仓库
所使用的AIGC技术的表格
子任务 | 借助何种AIGC技术,实现了什么功能 | 效果如何 |
---|---|---|
基本的消除游戏逻辑 | 借助cursor轻松完成 | 效果基本符合预期 |
积分系统的实现 | 借助cursor实现了积分的统计与历史查询 | 效果符合预期 |
背包系统的实现 | 借助cursor实现图案先放入背包再消除 | 效果符合预期 |
计时器的实现 | 借助cursor实现了倒计时,倒计时为0则游戏失败 | 效果符合预期 |
初始界面的实现 | 借助cursor实现了初始界面的载入与进入游戏等按钮 | 效果符合预期 |
胜利与失败的结算画面 | 借助cursor实现胜利与失败后等待3秒自动跳转到结算画面 | 效果符合预期 |
bgm的添加 | 借助cursor实现循环播放bgm | 效果符合预期 |
道具功能的设计 | 借助cursor实现了消除与刷新道具 | 效果符合预期 |
图片的生成 | 借助 https://www.imagine.art/dashboard 成功得到想要的图片 | 效果基本符合预期 |
对AIGC技术的评价:
缺点:
1.aigc在理解绘制图片过程中依旧比较困难(不排除我是qiong b 没付费的可能),需要多次交互才能得到一张基本符合要求的图片。2.在实现游戏逻辑方面有待加强,比如说我要求cursor确保图案是3的倍数以确保游戏正常进行,但我游玩好几次都无法正常通关,后来才发现它给游戏网格设置为8*8😓。
优点:
1.在实现计时器,背包系统,道具系统这些辅助功能时极其便捷,一次对话即可解决。
2.代码非常清晰,即便是python初学者也能基本知道一段函数写的是什么,是拿来做什么的。
扩展功能
1.实现了道具系统,增加了消除与刷新道具,消除道具可以将背包中最近添加的图案放回原处,刷新道具可以清空背包并让所有图案刷新。玩家可以自行在prop界面选择道具数量,最高为3。
2.提供了Normal与Easy两种模式(因为Normal有时就已经让我无法通关了,😓),
3.实现了分数系统与排行榜,记录了玩家的分数及游玩时间,分数从高到低排序。
项目介绍
1.项目的特色:ui简约清新(斯是陋室),游戏思路简单,便于上手。
2.AIGC表格
序号 | 完成的工作 | 描述 |
---|---|---|
1 | 添加历史记录功能 | 在初始界面增加"历史"按钮,允许玩家查看过去游戏的得分记录 |
2 | 实现 show_history 函数 | 创建新函数以显示历史得分记录 |
3 | 修改 show_end_screen 函数 | 在游戏结束时保存当前得分和日期时间 |
4 | 更新日期时间格式 | 将日期时间格式从 "年:月:日" 更新为 "年:月:日:时:分" |
5 | 调整 load_images 函数 | 添加加载历史记录按钮图片的代码 |
6 | 修改 show_start_screen 函数 | 添加历史记录按钮并处理其点击事件 |
7 | 添加新的全局变量 | 增加 history_image 和 score_history 变量 |
8 | 添加新的按钮常量 | 定义 HISTORY_BUTTON_WIDTH 和 HISTORY_BUTTON_HEIGHT |
9 | 整合代码 | 将新功能整合到原有的完整代码中 |
10 | 优化历史记录显示 | 实现按得分从高到低排序显示历史记录 |
11 | 代码注释和日志 | 为新增功能添加适当的注释和日志记录 |
3.psp表格
任务 | 描述 | 预估耗时(h) | 实际耗时(h) | 备注 |
---|---|---|---|---|
ai、图片、音乐等资源寻找 | 找资源 | 2 | 4 | 找资源真麻烦,尤其是没钱买vip,只能等待免费次数的时候 |
游戏基本逻辑的修改调试 | 所谓程序猿,就是调试调试再调试 | 4 | 1坤 | 有时候ai会自己生成自相矛盾的逻辑,需要人为修改 |
游戏扩展功能的实现 | 与AI对话与调试 | 8 | 1.2坤 | 以为要很久,但cursor太强了 |
界面的设计 | 与AI对话与调试 | 2 | 2 | 对话并将图片音乐等资源加入游戏中 |