- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC课程设计报告-五子棋游戏
课程设计报告文档
题目: 五子棋游戏
一.引言题目
1.编写目的:
通过编写此报告以书面的形式向老师以及阅读本报告的人员介绍本程序的设计过程以及使用方法和在程序设计过程中出现的问题等.
2.定义:
类(Class)实际上是对某种类型的对象定义变量和方法的原型。它表示对现实生活中一类具有共同特征的事物的抽象,是面向对象编程的基础 Microsoft ? Foundation ? Class ? 微软基础类库微软基础类通过继承机制,可以利用已有的数据类型来定义的数据类型。所定义的新的数据类型不仅拥有新定义的成员,而且还同时拥有旧的成员。我们称已存在的用来派生新类的类为基类,又称为父类。由已存在的类派生出的新类称为派生类,又称为子类。面向对象编程(Object Oriented Programmin面向对象程序设计)是一种计算机编程架构。OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。OOP 达到了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息处理数据和向其它对象发送信息。 否
否
是
是 否
2.类的划分:
程序中主要用到了三个类,即:CChess(棋子类),CQiPan(棋盘类),CwuziqiView(视图类)。
(1)类1:
CChess(棋子类):主要完成画黑白棋子的功能。
数据成员:int x; int y; /////黑白棋子在棋盘中的点坐标
bool colorwhite; /////为true时,画白棋,反之画黑棋
CBitmap m_bmwhite; /////用来存放白色棋子的位图
CBitmap m_bmblack;//用来存放黑色棋子的位置函数成员:
void drawblack(CDC *pDC,int x,int y); //在指定位置画黑色的棋
void drawwhite(CDC *pDC,int x,int y); //在指定位置画白色的棋
程序流程图:
(2)类2:
CQiPan(棋盘类):主要完成画规定大小的棋盘
数据成员: int linenum; /////棋盘横竖线的条数
int space; /////棋盘两条线间的空格长度
函数成员:
void drawqipan(CDC *pDC); /////由线数和间隙画出棋盘
程序流程图:
(3)类3: CWuziqiView(视图类)
程序流程图:
真 否
否 真 否
否
真 是
否
是
否
CWuziqiView(视图类):游戏的整个流程均在这个类中实现
数据成员: CQiPan qipan; /////用它的对象调用函数画棋盘
CChess chess; /////用它的对象调用函数画棋子
HCURSOR hcursorwhite; /////存放白色鼠标的位图
HCURSOR hcursorblack; /////存放黑色鼠标的位图
CPoint vspoint; /////存放电脑下棋时的棋子位置
bool gameover; /////记录游戏结束的标志
bool stop; /////记录暂停游戏的标志
bool again; /////记录重放游戏的标志
bool music; /////记录是否播放音乐
bool pvp; /////记录与人或人与机对弈的标志
int wzq[19][19]; /////记录棋盘上某点上的状态
int data[300]; /////记录下棋的顺序和状态
int dataagain[300]; /////记录下棋的顺序和状态
成员函数:
int over(CPoint point); /////检查是否结束
void Again(); ///// 显示游戏过程
void c
文档评论(0)