绘制国际象棋棋盘
本文分别在DOS界面下、用MFC打印和绘制国际象棋棋盘
目录
一、设计任务,目的与要求 ........................................................................................................... 1
1.设计内容: ............................................................................................................................ 1
2.设计目的: ............................................................................................................................ 1
3.设计要求: ............................................................................................................................ 1
二、概要设计 ................................................................................................................................... 1
1.设计流程: ............................................................................................................................ 1
三、运行结果及分析 ....................................................................................................................... 4
1.程序运行测试: .................................................................................................................... 4
2.应用运行的结果: ................................................................................................................ 5
四、源代码…………………………………………………………………………………………6
本文分别在DOS界面下、用MFC打印和绘制国际象棋棋盘
一、设计任务,目的与要求
1.设计内容:
在屏幕上绘制输出国际象棋棋盘,分别利用命令提示行和MFC制作输出。
2.设计目的:
1)复习、巩固C++语言的基础知识,进一步加深对C++语言的理解和掌握;
2)课程设计为将课本上的理论知识和实际有机的结合起来,锻炼分析解决实际问题的能力。提高适应实际,实践编程的能力;
3)加强学生的团队合作能力。
3.设计要求:
1)对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理;
2)系统设计要实用,编程简练,可用,功能全面;
3)说明书、流程图要清楚;
4)记录设计情况(备查,也为编写设计说明书作好准备);
5)要求采用模块化程序设计方法,要求上机调试通过和按设计报告格式;
6)设计上交内容:设计报告一人一份(按格式书写),源程序文件。
二、概要设计
1.设计流程:
1)设计要求:
(1)国际象棋棋盘是个正方形,由横纵各8格、颜色一深一浅交错排列的64个小方格组成,并且对奕时右下角为白色方格。
(2)能够写出相应的源程序代码,采用结构化、模块化程序设计方法,功能完善,界面要美观;
(3)所设计的系统要求运行没有错误;
本文分别在DOS界面下、用MFC打印和绘制国际象棋棋盘
(4)当程序运行时弹出一个界面,并显示棋盘;
(5)最后经验收合格后,按要求写出课程设计报告。
2)运行环境:
本设计使用的运行环境是Microsoft Visual C++ 6.0开发环境,所做的是基于MFC的打印国际象棋棋盘的应用程序。
3)总体设计:
1.用命令提示行输出
棋盘是横竖各8个方格排列而成的,将横定为排,纵定为列。横向有8排编号为0到7,纵向亦有8列编号为0到7。
观察棋盘特点黑白相间可知排号与列号相加为偶数的是白色方块,反之为黑色方块。例如第0排第5列为(0+5)=5,结果为奇数则为白色。再如第3排每1列为(3+1)=4,结果为偶数则为黑色。据此打印相应的方块形成整个棋盘。
本设计中白色方格用两个ASCII码为219的符号(如图)形成,黑色方格
用两个空格形成。
图1 ASCII码对照表
ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符。其中:0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字
本文分别在DOS界面下、用MFC打印和绘制国际象棋棋盘
符),ASCII值为8、9、10 和13 分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响。 48~57为0到9十个阿拉伯数字;65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。
后128个称为扩展ASCII码。扩展ASCII 码允许将每个字符的第8 位用于确定附加的128 个特殊符号字符、外来语字母和图形符号。
2.用MFC绘制输出
MFC(Microsoft Foundation Classes),是微软公司提供的一个类库,以C++类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量句柄封装类和很多内建控件和组件的封装类。与其他所有的Windows 应用程序一样,在使用MFC 的应用程序中也要处理系统消息,但是在MFC中消息处理更容易,封装得更好,更易于维护。下图为应用程序的执行过程
图2 应用程序的执行过程
本文分别在DOS界面下、用MFC打印和绘制国际象棋棋盘
Windows 使用图形设备接口(GDI)进行图形和文本输出,MFC 封装了GDI 对象,提供了CGdiObject 类和CDC 类支持图形和文本输出。应用程序可以使用 GDI 创建矢量图形、光栅图形和文本3 种类型的图形输出,本设计主要是输出一定形状的矢量图形。
MFC 封装了DC,提供CDC 类及它的子类以访问GDI。MFC 提供的设备环境类包括CDC、CPaintDC、CClientDC、CWindowDC 和 CMetaFileDC 等,其中CDC 类是MFC 设备环境类的基类,其他MFC 设备环境类都是CDC 类的派生类,CDC 提供了基本的绘图操作函数,如画点、画线、画圆、画矩形、画多边形等。
本设计主要用到Rectangle( )函数。它根据指定的左上角和右下角坐标绘制一个矩形,其格式如下:
CRect rect(0,0,100,100); //括号里的参数是左上角与右下角的坐标
pDC->Rectangle(&rect);
在绘制图形和图像时,颜色是一个重要的因素。Windows 用COLORREF 类型的数据存放颜色。它实际上是一个32 位整数。任何一种颜色都是由红、绿、蓝3 种基本颜色组成的,COLORREF 类型数据的低位字节存放红色强度值,第2 个字节存放绿色强度值,第3个字节存放蓝色强度值,高位字节为0,每一种颜色分量的取值范围为0~255。直接设置 COLORREF 类型的数据不太方便。MFC 提供了RGB 宏,用于设置颜色,它将其中的红、绿、蓝分量值转换为COLORREF 类型的颜色数据,其使用形式为:
RGB(byRed,byGreen,byBlue)
其中参数 byRed、byGreen 和byBlue 分别表示红、绿、蓝分量值(范围0~255)。设计中用到了RGB(192,192,192)和RGB(0,0,0),他们分别为灰色和黑色。
程序中是以某一坐标为参考点在OnDraw函数中形成两层 …… 此处隐藏:3408字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [稿件大全]不忘初心牢记使命 党课演讲稿,忠诚干
- [稿件大全]节能环保演讲稿:给生命关怀
- [稿件大全]《麦田里的守望者》读书报告演讲稿
- [稿件大全]“五四”青年节演讲稿_弘扬“五四精神
- [稿件大全]建国70周年演讲稿:践行新使命 续航新
- [稿件大全]五四演讲稿:弘扬“五四精神”做一名逐
- [稿件大全]建国70周年演讲稿:我和我的祖国
- [稿件大全]高三演讲稿_用梦想点燃青春
- [稿件大全]关于禁毒演讲稿:“健康人生,绿色无毒
- [稿件大全]五四精神演讲稿:继续前行
- [稿件大全]党课演讲稿:以更好的精神状态肩负起新
- [稿件大全]护士演讲稿_做有温度的人,做有意义的
- [稿件大全]书记抓基层党建述职评议大会讲话稿
- [稿件大全]高三成人礼演讲稿:遇见最美的你
- [稿件大全]“五四”青年节演讲稿_传承五四精神 放
- [稿件大全]五四运动一百周年演讲稿:什么是“五四
- [稿件大全]纪念五四运动100周年演讲稿三篇
- [稿件大全]岗位竞选演讲稿
- [稿件大全]演讲稿:敢于担当 为命运掌舵
- [稿件大全]争先创优演讲稿:五心服务铸就五星梦想
- 毕业感言:六年相伴(合集16篇)(毕业
- 毕业三十年的聚会感言(共18篇)(毕业
- 转职能转方式转作风发言稿(精选9篇)(
- 教师比赛开场白(通用16篇)(教师比赛
- 婚礼上新人家长致辞(锦集15篇)(婚礼
- 秘书专业实习的自我总结(合集20篇)
- 高速公路票证员个人工作总结(锦集14篇
- 会计毕业实习报告总结及体会(通用12篇
- 收费站监控员年度个人总结(精选15篇)
- 秋季初中新学期开学第一周国旗下讲话稿
- 支部讨论会主持词(精选16篇)(支部讨
- 小朋友主持词开场白(通用19篇)(小朋
- 小班下学期保育员个人工作总结(精选12
- 工会主席在工会工作会议上的讲话(整理
- 幼儿园衔接班家长会发言稿(锦集18篇)
- 剪刀手爱德华台词(整理6篇)(剪刀手爱
- 国旗下的新年寄语讲话演讲稿(精选18篇
- 物业公司物管员个人总结(共16篇)(物
- 学校晚会主持串词(精选10篇)(学校晚
- 婚礼新人入场主持词(通用15篇)(婚礼




