没有合适的资源?快使用搜索试试~ 我知道了~
中国象棋游戏开发设计报告.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 122 浏览量
2021-10-06
08:55:31
上传
评论
收藏 559KB DOC 举报
温馨提示
试读
19页
中国象棋游戏开发设计报告.doc
资源推荐
资源详情
资源评论
- -
中国象棋游戏开发设计报告
班级:
小组编号:
小组成员:
指导教师:
- - word.zl-
. -
一、开发的目的和意义
面向对象程序设计作为一门软件设计的课程,具有极强的实践性,要求学生
具备灵活应用理论知识的能力及面向对象程序设计技能的根底。通过游戏开发,
学生能了解C++面向对象的设计方法与技巧,有效地、深刻地理解课程容,体
会理论、方法和设计原那么,培养分析实际问题和解决问题的能力,具备使用面
向对象程序设计开发工具设计实际系统的能力。还能够了解并通过使用MFC,
掌握一种可视化编程的方法,并通过游戏的开发加深对可视化编程的理解。同时
可以提高运用C++编程语言解决实际问题的能力。
棋牌游戏属于休闲类游戏,具有上手快、游戏时间短的特点,更利于用户进
展放松休闲,为人们所喜爱,特别是棋类游戏,方便、快捷、操作简单,在休闲
娱乐中占主要位置。中国象棋作为中国自古以来的经典棋牌游戏之一,一直都是
人之间的比赛,将中国象棋制作成游戏,可以实现人与计算机之间的对弈。而且
人工智能是综合性很强的一门边缘学科,它的中心任务是研究如何使计算机去做
那些过去只能靠人的智力才能做的工作。开发出了计算机象棋游戏,以后不仅仅
可以进展休闲游戏,还能锻炼自己的智力和象棋技术,更加方便了人们的日常生
活。
二、功能描述和分析〔用户需求分析〕
2.1开发背景
我们周围有许多同学喜欢下象棋,尤其是男同学,希望能有人可以和自己下
象棋,但这种意愿常因为受到条件的限制而难以如愿,比方说需要身边刚好有现
成的棋盘棋子,比方说需要是同样懂得中国象棋的对手,但是大家都知道我们这
所大学男性同学占少数,即便是条件都满足了,还要考虑这位对手是否有何自己
下棋的心情。 这时,如果有一台计算机,一个能够支持人机对弈的程序,上面
的问题迎刃而解。
而我们小组的这个想起游戏设计,正是希望能够做出一款拥有良好性能,良
好的智能,能够满足大多数爱好象棋的同学的需求中国象棋人机对弈程序。
2.2用户需求分析
一款能够与用户对弈,满足用户需求的中国象棋程序,需要有棋盘棋子的局
面、鼠标响应控制棋子移动、棋子的走法规那么、人机对弈的搜索算法、防止异
常引入的多线程、胜负判断,具体分析如下:
- -可修编.
- -
2.2.1棋盘棋子的局面
作为中国象棋的这项游戏,其必不可少的是就是棋子和棋盘,没有这两个局
部,想起功能无法实现,不仅仅如此,如果,仅仅有棋子和棋盘,而没有将两者
结合起来,那么,也将无法实现中国象棋的游戏功能,所以,棋子和棋盘的设计
在这个游戏设计中至关重要。
2.2.2鼠标响应
在对弈中,棋子是必须可以移动的,不然游戏无法进展。因此,鼠标左键点
击是必不可少的一局部。
2.2.3棋子的功能分析:
中国象棋中各色的象棋棋子的功能使象棋具有了真正的趣味性,中国象棋的
棋子的类型大致分为:帅〔将〕、士、象、马、车、炮、兵〔卒〕等几个类型。
帅〔将〕:红方中的帅和黑方中的将的功能一样,都是只能在九宫格中进展
横向和竖向的移动,每次移动一格,并且不能移动超出九宫格,帅和将不能见面
士:士在整片棋盘中,和帅的移动围类似,也是只能在九宫格中移动,不过
士的移动方向是对角线,并且每次只能在一个格子中移动。
象:象的走法遵循“象走田〞的原那么,不能绊象腿。
马:马的走法遵循“马走日〞的原那么,不能绊马腿。
车:在整块棋盘中,车可以横向或纵向3移动任意格。
炮:每次移动和车的类似,但是在吃对方棋子的时候必须中间有且只能有一
个棋子的间隔。
兵〔卒〕:红方的兵和黑方的卒的功能一样,特点是只能向对方前进,而不
能后退,过河之前不能横向移动,过河之后可以横向移动,不管是前进还是横向
移动,每次都只能移动一格。
2.2.4良好的人机对弈
要实现人机的对弈,搜索算法是很重要的一局部。关于棋类对弈程序中的搜
索算法,已有成熟的Alpha-Beta搜索算法。我们在程序中直接借鉴了Alpha-
Beta搜索算法并辅以历史启发。
Alpha-Beta搜索算法:在中国象棋里,双方棋手获得一样的棋盘信息。他
们轮流走棋,目的就是吃掉对方的将或帅,或者防止自己的将或帅被吃。搜索算
法的搜索过程很漫长,因此对搜索算法进展简化是有必要的。
2.2.5多线程的必要性
由于程序在进展搜索时会占用大量的CPU时间,因而阻塞了位于同一线程的
其他指令,使之无常工作,因而引入了多线程的思想另外开一个线程,让各程序
分开于多个线程。就可以解决程序异常的问题了,因此,多线程思想的引入是有
必要的。
- - word.zl-
剩余18页未读,继续阅读
资源评论
gjmm89
- 粉丝: 14
- 资源: 19万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- vscode-1.64.1.tar源码文件
- vscode-1.64.0.tar源码文件
- vscode-1.52.0.tar源码文件
- Music-Player +PlayerActivity+ rockplayer+ SeeJoPlayer 播放器JAVA源码
- vscode-1.46.0.tar源码文件
- 最近很火植物大战僵尸杂交版2.08苹果+安卓+PC+防闪退工具V2+修改工具+高清工具+通关存档整合包更新
- 超级好用的截图工具PixPin,可录制Gif图
- Screenshot_2024-05-21-17-06-42-64_2332cb9b27b851b548ba47a91682926c.jpg
- 毕业设计参考 - 基于树莓派、OpenCV及Python的人脸识别
- node-v18.20.2-linux-arm64
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功