软件工程第二次作业
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/SE2024 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/SE2024/homework/13253 |
这个作业的目标 | 使用Python编写一个“羊了个羊”风格的消除类小游戏,并完成游戏的基本功能和交互设计。 |
学号 | 102202157 |
仓库链接 | https://github.com/xiaowang254/xbingbing.git |
1.项目展示
这个游戏界面设计注重直观性和互动性,通过清晰的布局和动态视觉效果引导玩家操作。界面采用像素风格,色彩鲜明,易于识别不同的游戏元素。同时,界面响应玩家行为,提供视觉和声音反馈,增强游戏体验。设计考虑了可访问性和适应性,确保玩家在不同设备上也能享受游戏。
-
点击运行代码即可进入游戏
-
鼠标操作游戏页面,可以消除相同小块
-
满格未能够组成相同的消除,游戏结束
2.项目介绍 -
项目的前端设计与特色功能。
前端设计
像素艺术风格:采用复古的像素艺术风格,为游戏带来独特的视觉体验。
响应式布局:确保游戏界面能够适应不同尺寸的屏幕,包括手机、平板和桌面电脑。
动画效果:使用动画来增强用户交互,如块的移动、消除效果,以及界面元素的平滑过渡。
音效和背景音乐:集成音效和背景音乐,提升游戏的沉浸感和趣味性。
交互设计:设计直观的点击和拖动操作,让玩家能够轻松地与游戏互动。
状态指示:清晰的游戏状态指示,如当前分数、关卡、剩余可移动次数等。
引导和教程:提供新手引导和教程,帮助玩家快速理解游戏规则。
特色功能:
层级消除机制:游戏不仅仅是简单的匹配消除,还引入了层级概念,玩家需要考虑块的层级关系来策略性地进行消除。
随机区块生成:随机区块的引入增加了游戏的不确定性和挑战性,玩家需要灵活应对。
插槽机制:插槽区域要求玩家在有限的空间内进行策略性的块选择和组合。
Combo和分数系统:设计了Combo系统和分数加成,鼓励玩家进行连续的消除操作。
关卡系统:随着游戏的进行,逐渐增加难度,每个关卡都有不同的挑战。
撤销功能:提供撤销操作,允许玩家回退到前一步,增加了游戏的策略性。
动态界面:界面会根据游戏状态变化,如胜利、失败时的特殊动画和提示。 -
描述完成项目中所使用的技术和特殊的算法,并展示实现思路,可以使用图表进行展示。
3.AIGC表格
子任务 | 预估利用 AIGC 技术 | 实际中利用 AIGC 情况 | AIGC 技术的优缺点 |
---|---|---|---|
游戏窗口设计 | 使用 AI 设计工具生成游戏界面布局和元素样式 | 未实现 | 优点:快速生成多种设计方案,提高设计效率。缺点:可能缺乏个性化和创意。 |
游戏关卡设计 | AI 生成关卡布局和难度曲线 | 未实现 | 优点:能够快速生成大量关卡,提高内容产出。缺点:可能缺乏趣味性和挑战性。 |
游戏逻辑编写 | AI 辅助编程,自动补全代码或生成特定逻辑 | 未实现 | 优点:提高编程效率,减少错误。缺点:可能生成的代码不够优化或不符合特定需求。 |
游戏测试和调试 | AI 自动化测试,识别和修复 bug | 未实现 | 优点:提高测试效率,减少人力成本。缺点:可能无法覆盖所有边缘情况。 |
游戏音效和音乐生成 | AI 生成背景音乐和音效 | 未实现 | 优点:快速生成音乐和音效,降低成本。缺点:可能缺乏情感表达和创意。 |
游戏角色和图形设计 | AI 生成角色和图形元素 | 未实现 | 优点:快速生成多样化的视觉元素。缺点:可能缺乏艺术性和细节。 |
4.PSP表格 |
任务 ID | 子任务描述 | 预估耗时(小时) | 实际耗时(小时) | 完成情况 | 自我评价 | 做得好的地方 | 可以改进的地方 |
---|---|---|---|---|---|---|---|
1 | 游戏窗口设计 | 2 | 3 | 完成 | 设计过程顺利,但耗时比预期长 | 界面布局合理 | 提高设计效率 |
2 | 游戏逻辑编写 | 10 | 12 | 完成 | 代码结构清晰,但调试时间较长 | 逻辑清晰 | 优化调试过程 |
3 | 游戏关卡设计 | 5 | 4 | 完成 | 关卡设计有趣,玩家反馈良好 | 关卡多样性 | 增加更多创新元素 |
4 | 游戏测试和调试 | 3 | 5 | 完成 | 发现并修复了一些隐藏的 bug | 测试全面 | 提高测试效率 |
5 | 游戏音效和音乐生成 | 2 | 1 | 完成 | 音效与游戏氛围匹配良好 | 音效匹配度高 | 增加更多音效选择 |
6 | 游戏角色和图形设计 | 6 | 7 | 完成 | 图形设计吸引玩家,但设计时间较长 | 设计吸引人 | 提高设计速度 |
总结 | |||||||
通过这次游戏开发经历,我们学到了很多关于游戏设计、开发和推广的知识。虽然遇到了一些挑战,但最终我们能够克服这些困难,并发布了一个成功的游戏。未来的项目将从这次经验中受益,特别是在时间管理、工具选择和用户测试方面。我们期待将这些经验应用到下一个项目中,并继续提高我们的游戏开发能力。 |