人机交互程序设计教学课件第10课五子棋程序

人机交互程序设计教学课件第10课五子棋程序

ID:34064055

大小:414.50 KB

页数:22页

时间:2019-03-03

人机交互程序设计教学课件第10课五子棋程序_第1页
人机交互程序设计教学课件第10课五子棋程序_第2页
人机交互程序设计教学课件第10课五子棋程序_第3页
人机交互程序设计教学课件第10课五子棋程序_第4页
人机交互程序设计教学课件第10课五子棋程序_第5页
资源描述:

《人机交互程序设计教学课件第10课五子棋程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、北方软件学院NorthSoftwareInstituteWindows人机交互程序设计第10课五子棋程序本节课主要内容知识回顾五子棋程序设计文本输出函数字体知识回顾问题1:文本输出的函数是?问题2:创建字体的函数是?问题3:SelectObject函数的作用是?问题4:字体的作用是?*绘制文字的API函数1BOOLTextOut(HDChdc,intx,inty,LPSTRpszText,intnSize);功能:在窗口的指定的位置显示文字内容。返回值:如果函数执行成功返回TRUE,如果函数执行失败返回FALSE

2、.*参数内容HDChdc设备环境句柄intx文本的输出的起始位置x坐标inty文本输出的起始位置y坐标LPSTRpszText要输出的文本内容0intnSize输出内容的尺寸举例TextOut(hdc,0,10,”HelloWord”,strlen(“HelloWord”));*绘制文字的API函数2intDrawText(HDChDC,LPCTSTRlpString,intnCount,LPRECTlpRect,UINTuFormat)功能:在一个指定的矩形框内绘画文本返回值:如果函数执行失败返回0,如果函数执

3、行成功返回绘制文本的高度。*参数内容HDChdc存放设备环境句柄。LPCTSTRlpString,intnCount存放要显示的文本的缓冲区和缓冲区尺寸。LPRECTlpRect存放文本显示的矩形区域。UINTuFormat文本显示格式说明,例如:DT_LEFT文本靠左显示UINTuFormat常用值DT_BOTTOM//靠低显示DT_CENTER//居中显示DT_LEFT//靠左显示DT_RIGHT//靠右显示DT_SINGLELINE//单行显示DT_TOP//靠上完成DT_VCENTER//垂直方向居中DT

4、_WORDBREAK//自动换行*如何创建字体HFONTCreateFont(……);HFONTCreateFontIndirect(CONSTLOGFONT*lplf);功能:创建字体返回值:字体句柄,如果创建失败返回NULL;typedefstructtagLOGFONT{LONGlfHeight;LONGlfWidth;LONGlfEscapement;LONGlfOrientation;LONGlfWeight;BYTElfItalic;BYTElfUnderline;BYTElfStrikeOut;BY

5、TElfCharSet;BYTElfOutPrecision;BYTElfClipPrecision;BYTElfQuality;BYTElfPitchAndFamily;CHARlfFaceName[LF_FACESIZE];}LOGFONT;LOGFONTLogFont;HFONThFont,hOldFont;……hFont=CreateFontIndirect(&LogFont);hOldFont=SelectObject(PaintDC,hFont);TextOut(PaintDC,10,10,”Hell

6、o”,5);SelectObject(PaintDC,hOldFont);DeleteObject(hFont);上机课实验(1)实现MessageBox输出的计算器;实验(2)a.创建窗口b.窗口在屏幕上的左上角(10,10)处出现,大小为(200,300);c.窗口名称为“helloWord”;五子棋分析设计该程序需要解决哪些问题?1)应该具备哪些功能?2)人机交互动作有哪些?3)棋盘如何画?背景色如何实现?需要哪些函数?4)棋子如何画?需要哪些函数?5)需要什么样的数据结构?6)程序算法和流程如何实现?五子

7、棋——棋子位置程序流程——1程序总流程绘制棋盘截获鼠标消息绘制棋子程序流程——2下棋子的流程鼠标点击判断点击位置是否在棋子位置上绘画棋子判断当前是黑棋还是白棋下数据结构设计StructQizi{intleft;intRight;intTop;intBottom;boolbIsShow;intbIsBlack;}aQi[100];程序流程**开始Windows入口函数消息循环结束?结束WM_LBUTTONDOWN输入界面控件响应注册窗口类创建窗口是否窗口过程处理函数…WM_PAINTWM_PAINT绘制棋盘绘制棋子

8、message==WM_PAINTmessage==WM_LBUTTONDOWN修改棋子状态窗口刷新Break;WndProc开始否是是DefWindowProc否WndProc结束需要哪些函数?1)初始化坐标操作2)判断当前点击位置是否在棋子位置上3)绘制棋子函数4)绘制棋盘函数函数接口设计voidInitQizi(intxStart,intyStart,intnRow

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

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

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