c语言程序设计之五子棋

c语言程序设计之五子棋

ID:26156792

大小:626.50 KB

页数:16页

时间:2018-11-25

c语言程序设计之五子棋_第1页
c语言程序设计之五子棋_第2页
c语言程序设计之五子棋_第3页
c语言程序设计之五子棋_第4页
c语言程序设计之五子棋_第5页
资源描述:

《c语言程序设计之五子棋》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、安徽大学电子信息工程学院C语言程序设计指导老师:梁栋小组成员:高丽蓉高雪朱楠丁昊刘佳慧阮超16C语言程序设计之五子棋摘要:本程序是一种两人对弈的纯策略型棋类游戏,规则简单,变化多端,非常富有趣味性和消遣性。主要应用了VisualC++编程来完成这个游戏的设计的。本文主要介绍了本游戏的开发环境MicrosoftVisualC++6.0,使用当前优秀的开发工具VC++编程基于MFC的基本对话框,编写了一个五子棋的游戏软件。包含了五子棋程序的棋盘初始化、游戏规则、胜负判断方法。关键词:五子棋游戏应用程序、初始化、规则、图形函数、判断1.问题描述在VisualC+

2、+6.0编译器的基础上,基于MFC的基本对话框,编写一个五子棋的游戏软件。该游戏应该符合以下要求:1.1游戏模式:人先下棋,电脑在人下子后会随后下棋。1.2人机对弈:完成人和计算机的对弈,用黑色棋子表示人,白色棋子表示电脑,电脑要具有一定的人工智能,能够可以与人对弈一段时间。1.3棋盘:要求棋盘绘制美观耐看。1.4判断输赢:当一方有五个相邻的棋子连成一条线时,计算机能判定输赢,并能结束本次游戏并重新开始。161.5存储功能:要求五子棋有存储功能,可以将进行中的游戏存储在棋盘上,也可以读取已存盘的游戏。1.6弹窗功能:要求制作按钮,实现弹框功能,可以弹出指导

3、老师与小组成员的信息。1.详细设计2.1总体设计程序流程图如下图所示:2.1.1新建工程,选MFCAppWizard(exe),添上工程名,确定。2.1.2选基本对话框,完成,确定162.1.3插入位图我们选择的方式从网上搜寻一些图片,然后直接贴图。先插入位图(BMP格式)。16位图插入后会自动赋予ID值,我们将其修改一下:分别修改为BLACKBOARDWHITECLEAR2.1.4添加DRAW函数16添加成员函数Draw:然后添加所编的程序代码。2.1.5在OnPaint函数中加入代码画图在OnPaint函数中加入以下代码:CDC*pDC;pDC=Get

4、DC();Draw(0,0,IDB_CLEAR,pDC);Draw(13,13,IDB_BOARD,pDC);for(inti=0;i<15;i++)for(intj=0;j<15;j++)chess[i][j]=0;2.1.6添加OnLButtonUp函数添加消息处理函数:16然后添加所编的程序代码。2.1.7添加iswin函数16然后添加所编的程序代码2.1.8重复步骤(7),依次添加search,searchvalue,getsorce,AIplay函数。162.1.9复制按钮确定,并粘贴两次,并改名为“读档”“保存”“指导老师”“小组成员”162.

5、1.10给这四个按钮建立类向导16添加关联函数然后添加所编的程序代码。2.1.11在OnInitDialog函数中加入以下代码MoveWindow(0,0,515,580);CenterWindow();GetDlgItem(IDC_SAVE)->MoveWindow(10,515,55,24);GetDlgItem(IDC_OPEN)->MoveWindow(70,515,55,24);GetDlgItem(IDC_teacher)->MoveWindow(345,515,55,24);GetDlgItem(IDC_students)->MoveWind

6、ow(405,515,55,24);2.1.12更改icon图标162.2数据结构设计开始游戏人开始下棋电脑下棋输赢能否确定输赢能否确定电脑下棋开始游戏人开始下棋N我赢了,结束战斗谁获胜Y结束游戏电脑胜利,结束战斗电脑人162.3函数功能描述OnInitDialog():通过这个函数,我们定义了窗口的大小、窗口所处的位置、保存按钮的放置、读档按钮的放置、指导老师按钮的放置以及小组成员按钮的放置。OnPaint():通过这个函数,我们在窗口上画出了棋盘。Draw(intx,inty,UINTbitmap,CDC*pDC):通过这个函数,我们可以画出各种图片。

7、OnLButtonUp(UINTnFlags,CPointpoint):通过这个函数,我们可以通过鼠标控制在窗口上下子。iswin(inti,intj):通过这个函数,我们可以判断胜负。search(inti,intj,intm,intn):通过这个函数,我们可以判断棋子周围的情况。AIplay():通过这个函数,我们设计了一个人工智能来与人对弈。searchvalue(int&best_i,int&best_j,intcolor):寻找棋子的有利位置getscore(inti,intj,intcolor):计算这个函数位置的分数OnSave():通过这个

8、函数,我们实现了存储的功能。OnOpen():通过这个函数,我们实

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。