软件工程课程第二次个人作业

xinZxin / 2024-09-17 / 原文

这个作业属于哪个课程
这个作业要求在哪里
这个作业的目标 开发一个消除类小游戏
学号 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
个人评价

制作的小游戏较为简易,应该加入一些扩展功能,例如:增加道具功能,如提示、撤销操作等,以增加游戏趣味性;提供多种难度模式,给玩家不同的挑战体验;实现分数系统与排行榜功能,记录玩家的最高分等等。