- 1、本文档共2页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构(Python课程)课程项目2
数据结构(Python 课程)课程项目 2‐2 (五子棋)
(北京大学数学学院,2014 年 11 月 20 日)
本项目要求以项目组为单位独立完成下面工作。一个项目组由两位同学组成,12月5 日
前将完成的程序和所写报告(打包)提交辅导老师。评分要求包括:
1. 所提交的程序应该完整,包括主程序和demo 程序(演示程序);程序的模块划分合理,
代码清晰,格式合理,易读易理解;
2. 所提交报告对项目工作描述应清晰准确,说明为什么采用有关的结构设计,其中的想法
和解决的问题等;报告应包含对所完成的项目的分析,讨论其优点和缺点;
3. 总结在完成这一项目过程中的体会和遇到的困难。
项目描述:
五子棋是一种两方对弈的纯策略型棋类游戏。棋盘大小为 15*15,对弈双方分别使用黑
白两色棋子,下在棋盘直线与横线的交叉点上。行棋时两方轮流著棋子下于棋盘空点处,先
形成任何方向(横/纵/斜)的 5 子以上连线者获胜。
本项目要求实现一个与人博弈的五子棋程序:程序为行棋的一方,用户方通过交互完成
与程序的五子棋对弈。本系统的设计和实现要求提供三种不同的下棋难度
Easy/Normal/Hard。对不同的难度,程序采用不同的博弈策略与用户对弈。较高难度时程序
应能表现出更高的博弈水准。
基本功能:
完成的系统需要实现下面功能:
1. 用户可以选择先手还是后手,选择下棋难度;
2. 胜负状态的判断;
3. 有棋子落下后棋盘状态的更新与显示;
4. 电脑方的下棋位置的决策机制,实现三种不同的难度等级;
5. 双方平局的判断(无空位落子)。
注:不限制开局落子位置,不考虑实际五子棋的各种特殊规则(如各种禁手,交换行棋权等)。
此外本项目的考察重点是数据结构的设计及实现,请不要把重点放在 UI 上。用户交互方面
可以采用比较简单的设计。例如:棋盘状态可以用字符阵列形式输出,黑白棋分别用 O 和 X
表示(空格形式任选);用户落子可以用输入一对坐标的方式表示;每次计算机落子之后输
出棋盘的当前布局。
项目要求:
根据题目要求设计并实现所需的功能
1. 设计所需数据结构,根据需要定义有用的类(class ),如用什么数据结构记录棋盘布局;
2. 单独实现一个脚本文件 gomoku.py ,执行它就能开始实际游戏;
3. 实现一个名字为demo.py 的脚本文件,展示在三种不同难度下系统自己与自己对战的博
弈过程。每次输出一个局面,等到用户有任意输入后输出下一局面。
可以根据情况和需要,把整个系统分别实现为几个模块,以利于系统的开发。
报告的要求:
报告大致可以分为几个部分:
1. 对问题的分析和整体系统的设计概述;
2. 具体的数据结构和程序结构设计,本项目请尤其注意阐述清楚电脑方落子的决策机制,
即核心算法;
3. 实现中的关键问题和技术分析;
4. 系统完成的情况和实际效果的说明;
5. 重要算法的时间复杂性分析,并说明自己的程序没有不合理的空间浪费。
6. 完成了这个系统之后的回顾和分析:优点和缺点,改进可能性。
报告可以参考以上结构组织。
您可能关注的文档
最近下载
- T_SCS 000015-2023 氧化锆固体电解质 相含量的测定 全谱拟合法.docx VIP
- SN∕T 3131-2012 自行车车闸闸皮中石棉含量的测定 偏光显微镜-X射线衍射光谱法.docx VIP
- 大迈X7 DCT360C众泰培训.pdf
- SN_T 5499-2023 矿产品中滑石含量的测定 X射线衍射全谱拟合法.docx
- SN_T 3514-2013电工钢晶粒取向与无取向鉴定方法X射线衍射测定织构法.docx VIP
- (三模)新疆维吾尔自治区2025年高考第三次适应性检测 理科综合试卷(含答案).pdf
- 大学生志愿服务西部计划服务鉴定表.doc
- 体育馆落地式钢管脚手架施工方案.pdf VIP
- 中国职业教育发展白皮书.pdf VIP
- 2025年中考英语二轮语法复习课件:第九节 被动语态(共26张PPT).pptx VIP
文档评论(0)