# 一、设计目的:
## 1.1 课程设计教学目的
本课程设计是本专业的一门重要实践性教学环节。在学习了专业基础课和《Python程序设计》课程的基础上,本课程设计旨在加深对Python程序设计的认识,对Python语言及其语言生态有一个进一步的掌握和应用,学会运用Python标准库及外接相关库来解决实际问题的基本能力,培养和提高学生分析问题、解决问题的能力,尤其是提高学生使用Python为开发语言来进行问题描述、交流与思考的能力,为毕业设计和以后的工程实践打下良好的基础。
## 1.2 本课程设计具体目的
经过小组讨论分析,我们最终选择了“五子棋”作为本次课设主题。
五子棋起源于中国上古时期的传统黑白棋种之一。主要流行于华人和汉字文化圈的国家以及欧美一些地区,是世界上最古老的棋。古代五子棋棋盘与围棋棋盘是通用的,直到1931年,才出现所谓五子棋专用棋盘,为十五路(15×15)棋盘。现在人们压力日益增大,需要劳逸结合才能获得更高的工作效率,工作之余的娱乐对于每一个人来说必不可少。五子棋这种娱乐方式容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。
# 二、课程设计任务和要求
## 2.1 课程设计教学任务和要求
本次课程设计的主要任务是以Python为开发语言完成一个100~300行左右规模的程序项目开发。
课程设计的基本要求是:在课程设计的各个阶段严格、规范地完成相关的文档,例如在初期按时完成设计目的、设计要求、总体设计,在后期完成详细设计、调试与测试、设计总结等。要求能完成所选题目的主要功能,程序运行健壮、正确,代码要有详细注释,可读性好;所写文档结构合理、内容完整、叙述清晰。更高要求是:有创意、系统界面美观。
由于课程设计项目具有一定的综合性,鼓励具有不同特长和不同能力的学生互相组队。项目小组自己推荐一名组长,实行“组长负责制”。组长组织组员进行项目选题、任务分配、方案确定、方案设计、系统调试测试,组员分工协作。小组成员开展项目讨论,互相支持,形成协作意识。
## 2.2 本课程设计具体任务和要求
1. 有图形界面,能够用鼠标进行操作。
2. 能够进行五子棋游戏的基本操作,即玩家轮流落子。
3. 能够对游戏结果进行正确的判定。
4. 能够实现悔棋及认输等附加功能。
5. 各项功能的展示与应用直观明了。
6. 输出必要的提示信息让玩家更好地进行游戏。
# 三、总体设计:
基于Python的标准GUI库tkinter快速创建GUI应用程序。
运行程序提示可开始游戏。人人对战,二人轮流落子。界面显示提示信息当点轮到哪一方落子。先有五子“—”或“|”或“/”或“\”连成一线的玩家获胜。若棋盘中棋子已满,玩家均为完成五子相连则判定为平局。当黑方获胜或白方获胜或平局时及时作出判定,并弹出提示框,告知玩家当前对局结束。
## 3.1 小组成员及任务分配情况
组员:吴佳丽余叶钰刘璐瑶
任务分配:
吴佳丽:负责玩家操作模块设计,包括落子、悔棋及认输。
余叶钰:负责游戏的可视化设计,包括游戏界面设计及棋盘设计。
棋盘设计部分包括运行程序开始游戏及重新开局时初始化棋盘。
刘璐瑶:负责判定游戏结果即玩家胜负或平局判定
## 3.2 程序功能图
![](https://www.writebug.com/myres/static/uploads/2022/7/29/6d6aa95c7527f67e2f84c6800bd0a0d3.writebug)
## 3.3 整体流程图
![](https://www.writebug.com/myres/static/uploads/2022/7/29/23532654f1e359fc4f8f5c8a93c62017.writebug)
# 四、设计实现
## 4.1 最终实验结果
#### 游戏主界面
启动程序运行游戏,弹出提示框,提示玩家游戏开始,黑方先进行落子。玩家可点击棋盘无棋子处进行落子。或点击“开局”、“悔棋”、“认输”按钮可重新开局或悔棋或认输。当点击“开局/重新开局”按钮时,清空棋盘中的棋子,展示处与启动程序相同的游戏界面。界面中间“黑方”与“落子”二处文字为游戏进行中的提示信息,表示当前轮到黑方进行棋子放置。轮到白方落子时会“黑方”将自动更改为“白方”,“白方”二字以白色显示。如图4-1所示。
![](https://www.writebug.com/myres/static/uploads/2022/7/29/4e0f10ebc64edb175a1d3a14899d19a8.writebug)
![](https://www.writebug.com/myres/static/uploads/2022/7/29/1f01687e29e5915133602065a3ff9754.writebug)
#### 玩家获胜后界面
如图4-2所示,若有一方玩家存在“—”或“|”或“/”或“\”五子相连,该玩家取得该局游戏胜利。以图中所示情况——黑方“/”五子相连为例,说明玩家取胜结果。通过黄色线条将黑方连成一线的五颗棋子相连接,此时界面中间提示信息改为“黑方获胜”,“获胜”二字以红色显示。并弹出消息提示框,提示玩家游戏结束黑方完成五子相连,取得胜利。若此时点击悔棋按钮,将提示玩家此时不能悔棋。如图4-3所示;点击认输按钮,将提示玩家点击开局开始游戏,如图4-4所示。
![](https://www.writebug.com/myres/static/uploads/2022/7/29/db4db3cec5d806482ddbdceef00c4b79.writebug)
![](https://www.writebug.com/myres/static/uploads/2022/7/29/4fa057b2132e5ad71734c46a8f66ad85.writebug)
#### 平局情况
当玩家双方都没有完成五子连线,且棋盘中所有棋格都有棋子放置即无处置放棋子时,判定为平局。
为更方便展示,将棋盘改为5*5大小。如图4-5所示,中间提示文字变更为绿色字样“平局??!”,同时弹出消息提示框,提示玩家当前对局结束,双方达成平局。此时游戏结束,玩家不可再悔棋或认输,若玩家点击悔棋或认输按钮,效果与有一方玩家获胜时相同。即游戏界面不做改变,弹出消息提示框,该消息提示框与图4-3、图4-4中消息提示框相同,不再重复展示。
![](https://www.writebug.com/myres/static/uploads/2022/7/29/221b9df9d640077a56982b6c7f601eb1.writebug)
![](https://www.writebug.com/myres/static/uploads/2022/7/29/948622b9138bc0059d59f1229a95a1c7.writebug)
#### 玩家认输
在一局游戏过程中,若玩家首次点击认输按钮。棋盘不做改变,游戏界面中间文字“落子”变为“认输”如图4-6所示。此时游戏结束,玩家不可再悔棋或认输,若玩家点击悔棋或认输按钮,效果与有一方玩家获胜时相同。即游戏界面不做改变,弹出消息提示框,该消息提示框与图4-3、图4-4中消息提示框相同,不再重复展示。
#### 玩家悔棋
游戏过程中,若一个回合内该玩家首次进行悔棋,取回该玩家刚放置到棋盘上的棋子,并将中间的提示信息“某方落子”改回到该玩家。以黑方悔棋为例,悔棋前及悔棋后游戏部分界面分别如图4-7、图4-8所示。若该玩家在一个回合内已经进行过悔棋操作,再次点击悔棋按钮,则不改变游戏界面及棋盘,但回弹出提示框此时不能悔棋,该消息提示框及提示信息与获胜时点击悔棋按钮,即图4-4中的提示框相同。
![](https://www.writebug.com/myres/static/uploads/2022/7/29/632983fb6f96374efdaf31471a77c77f.writebug)
![](https://www.writebug.com/myres/static/uploads/2022/7/29/01240c19c47707c8d7fc4ade82906e3a.writebug)
## 4.2 实验结果评价
窗体界面直观明了,游戏过程中有适当的提示信息有助于玩家更好的进行游戏。同时窗�
基于Python(GUI)五子棋游戏设计【100011763】
版权申诉
65 浏览量
2023-04-10
10:24:23
上传
评论
收藏 2.49MB ZIP 举报
神仙别闹
- 粉丝: 2680
- 资源: 7667
最新资源
- 基于图像的三维模型重建C++源代码+文档说明(高分课程设计)
- 基于聚焦法的工件立体测量方案,根据数据进行三维重建 使用HALCON处理图像,MATLAB拟合数据+源代码+数据集+效果图
- 锄战三国村 修改:货币使用不减 v1.10(2) 原创 (中文).apk
- 基于python实现的单目双目视觉三维重建+源代码+图像图片(高分课程设计)
- 基于C+++OPENCV的全景图像拼接源码(课程设计)
- 基于Python+OpenCV对多张图片进行全景图像拼接,消除鬼影,消除裂缝+源代码+文档说明+界面截图(高分课程设计)
- 基于C++实现的全景图像拼接源码(课程设计)
- 基于SIFT特征点提取和RASIC算法实现全景图像拼接python源码+文档说明+界面截图+详细注释(95分以上课程大作业)
- 基于matlab实现眼部判别的疲劳检测系统+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
- 基于Matlab的异常姿势识别系统+源代码+全部数据+文档说明+详细注释+使用说明+截图(高分课程设计)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈