软件工程课程第二次个人作业
这个作业属于哪个课程 | |
---|---|
这个作业要求在哪里 | |
这个作业的目标 | 开发一个消除类小游戏 |
学号 | 102201129 |
作业描述
本次作业要求学生使用Python编写一个“羊了个羊”风格的消除类小游戏。学生需借助GitHub Copilot或其他AIGC工具生成部分代码,并完成游戏的基本功能和交互设计。
Github仓库链接
项目介绍
这款小游戏叫做Looking for Griffin kids,以温馨动画Family Guy为背景设计,路易斯和皮特夫妻二人需要将Griffin家的三个孩子和狗子进行对应头像匹配。
界面设计(利用Pygame图形库)
主菜单
点击开始游戏进入游戏
游戏界面
结束界面
游戏逻辑
四种不同类型的方块随机多层生成在4*4的棋盘上。
这个小游戏没有设计像羊了个羊那样用来消除的卡槽,而是玩家可以通过拖动指定方块与相邻方块进行交换,当每一行或每一列达到三个或以上时,这几个相同的方块被消除,显示出下层的方块。
每当一个方块被消除时,积分加一,当积分到达100分时,赢得游戏。
设有300秒倒计时,当倒计时结束时还没有达到100分,显示游戏结束。
拓展功能
有背景音乐,给玩家一种愉悦的感受。
结合AIGC(运用通义千问和ChatGPT辅助完成的代码)
game_project/
│
├── main.py # 主程序入口
├── game.py # 游戏主逻辑和游戏循环
├── menu.py # 主菜单界面
├── game_screen.py # 游戏界面(包含消除逻辑和界面绘制)
├── end_screen.py # 游戏结束界面
├── utils.py # 工具函数(如加载图片、声音等)
├── resources/ # 资源文件夹,存放图片、音效等
│ ├── images/
│ │ ├── ... # 游戏所需的各种图片
│ └── sounds/
│ ├── ... # 游戏音效
│
└── README.md # 项目说明文件
以上是我所制作的消除类小游戏的python代码文件目录以及对应所负责的功能。
AIGC表格任务
子任务 | 借助何种AIGC技术,实现了什么功能 | 效果如何? |
---|---|---|
准备工作 | 利用AIGC来学会如何配置python坏境,如何制作小游戏 | 很不错 |
游戏界面(包含消除逻辑和界面绘制) | 利用AIGC生成所需要的图片 | 还行 |
游戏主逻辑和游戏循环 | 利用AIGC生成python代码 | 很有帮助.期间试过各种AIGC,感觉大多数不是很智能. |
进行调试代码 | 利用AIGC纠错 | 还需要进步 |
PSP表格
阶段 | 预估耗时(h) | 实际耗时(h) |
---|---|---|
计划 | 0.5 | 0.5 |
分析 | 0.5 | 2 |
设计 | 0.5 | 0.5 |
编码 | 24 | 48 |
测试 | 1 | 2 |
评估 | 0.5 | 0.5 |
个人评价
制作的小游戏较为简易,应该加入一些扩展功能,例如:增加道具功能,如提示、撤销操作等,以增加游戏趣味性;提供多种难度模式,给玩家不同的挑战体验;实现分数系统与排行榜功能,记录玩家的最高分等等。