www.themegallery.com,Company Logo,北方软件学院 North Software Institute,Windows人机交互程序设计,第10课 五子棋程序,www.themegallery.com,Company Logo,本节课主要内容,知识回顾 五子棋程序设计 文本输出函数 字体,www.themegallery.com,Company Logo,知识回顾,问题1:文本输出的函数是? 问题2:创建字体的函数是? 问题3:SelectObject函数的作用是? 问题4:字体的作用是?,www.themegallery.com,Company Logo,*绘制文字的API函数1,BOOL TextOut(HDC hdc,int x,int y,LPSTR pszText,int nSize); 功能:在窗口的指定的位置显示文字内容。 返回值:如果函数执行成功返回TRUE,如果函数执行失败返回FALSE.,www.themegallery.com,Company Logo,*参数内容,HDC hdc 设备环境句柄 int x 文本的输出的起始位置x坐标 int y 文本输出的起始位置y坐标 LPSTR pszText 要输出的文本内容0 int nSize 输出内容的尺寸,www.themegallery.com,Company Logo,举例,TextOut(hdc,0,10,”Hello Word”,strlen(“Hello Word”));,www.themegallery.com,Company Logo,*绘制文字的API函数2,int DrawText(HDC hDC , LPCTSTR lpString , int nCount , LPRECT lpRect ,UINT uFormat) 功能:在一个指定的矩形框内绘画文本 返回值:如果函数执行失败返回0,如果函数执行成功返回绘制文本的高度。,www.themegallery.com,Company Logo,*参数内容,HDC hdc 存放设备环境句柄。 LPCTSTR lpString , int nCount 存放要显示的文本的缓冲区和缓冲区尺寸。 LPRECT lpRect 存放文本显示的矩形区域。 UINT uFormat 文本显示格式说明,例如:DT_LEFT 文本靠左显示,www.themegallery.com,Company Logo,UINT uFormat 常用值,DT_BOTTOM //靠低显示 DT_CENTER // 居中显示 DT_LEFT //靠左显示 DT_RIGHT //靠右显示 DT_SINGLELINE //单行显示 DT_TOP //靠上完成 DT_VCENTER //垂直方向居中 DT_WORDBREAK //自动换行,www.themegallery.com,Company Logo,*如何创建字体,HFONT CreateFont(……); HFONT CreateFontIndirect(CONST LOGFONT *lplf ); 功能:创建字体 返回值:字体句柄,如果创建失败返回NULL;,www.themegallery.com,Company Logo,typedef struct tagLOGFONT { LONG lfHeight; LONG lfWidth; LONG lfEscapement; LONG lfOrientation; LONG lfWeight; BYTE lfItalic; BYTE lfUnderline; BYTE lfStrikeOut; BYTE lfCharSet; BYTE lfOutPrecision; BYTE lfClipPrecision; BYTE lfQuality; BYTE lfPitchAndFamily; CHAR lfFaceName[LF_FACESIZE]; } LOGFONT;,www.themegallery.com,Company Logo,LOGFONT LogFont; HFONT hFont, hOldFont; … … hFont = CreateFontIndirect(,www.themegallery.com,Company Logo,上机课,实验(1) 实现MessageBox输出的计算器; 实验(2) a. 创建窗口 b. 窗口在屏幕上的左上角(10,10)处出现,大小为(200,300); c. 窗口名称为“hello Word”;,www.themegallery.com,Company Logo,五子棋,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,www.themegallery.com,Company Logo,分析,设计该程序需要解决哪些问题? 1)应该具备哪些功能? 2)人机交互动作有哪些? 3)棋盘如何画?背景色如何实现?需要哪些函数? 4)棋子如何画?需要哪些函数? 5)需要什么样的数据结构? 6)程序算法和流程如何实现?,www.themegallery.com,Company Logo,五子棋——棋子位置,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,www.themegallery.com,Company Logo,程序流程——1 程序总流程,绘制棋盘,截获 鼠标消息,,绘制棋子,,,,www.themegallery.com,Company Logo,程序流程——2 下棋子的流程,鼠标点击,判断点击位置是否 在棋子位置上,绘画棋子,判断当前是黑棋 还是白棋下,,,,www.themegallery.com,Company Logo,数据结构设计,Struct Qizi{ int left; int Right; int Top; int Bottom; bool bIsShow; int bIsBlack; } aQi[100];,www.themegallery.com,Company Logo,程序流程**,开始,Windows入口 函数,消息循环 结束?,结束,,,,WM_LBUTTONDOWN,,输入界面,控件响应,注册窗口类,创建窗口,,,是,否,窗口过程处理函数,,,…,WM_PAINT,WM_PAINT,,,绘制棋盘,绘制棋子,,message== WM_PAINT,message== WM_LBUTTONDOWN,修改棋子状态,窗口刷新,,,Break;,,,,,WndProc开始,,否,是,,是,DefWindowProc,,否,,WndProc结束,,,,www.themegallery.com,Company Logo,需要哪些函数?,1)初始化坐标操作 2)判断当前点击位置是否在棋子位置上 3)绘制棋子函数 4)绘制棋盘函数,www.themegallery.com,Company Logo,函数接口设计,void InitQizi(int xStart,int yStart,int nRow,int nCol) void DrawQipan(HDC hdc,int xStart,int yStart,int row,int col) void DrawQizi(HDC hdc),

展开阅读全文

五子棋人机交互c语言代码,Windows人机交互程序设计教学课件-第10课 五子棋程序.ppt...相关推荐

  1. c语言程序设计指针何钦铭ppt,C语言程序设计 教学课件 作者 何钦铭 c2.ppt

    C语言程序设计 教学课件 作者 何钦铭 c2.ppt (65页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 Chap 2 基本数据类型和表 ...

  2. c语言程序设教材计 乌云高娃,C语言程序设计教学课件作者第3版乌云高娃演示文稿C语言程序设计教学课件作者第3版乌云高娃演示文稿演示文稿第1章C语言程序设计基础课件.ppt...

    C语言程序设计教学课件作者第3版乌云高娃演示文稿C语言程序设计教学课件作者第3版乌云高娃演示文稿演示文稿第1章C语言程序设计基础课件.ppt 主要内容 课程概述 为什么选择C语言作为入门课程? C语言 ...

  3. c语言程序设计第三版乌云高娃答案,C语言程序设计教学课件作者第3版乌云高娃补充习题及答案C语言程序设计教学课件作者第3版乌云高娃补充习题及答案第3章补充习题及答案课件.doc...

    C语言程序设计教学课件作者第3版乌云高娃补充习题及答案C语言程序设计教学课件作者第3版乌云高娃补充习题及答案第3章补充习题及答案课件.doc 第3章补充习题及答案 习题 3.1 选择题 (1)下列运算 ...

  4. c语言程序设计第四版乌云高娃,C语言程序设计教学课件作者第3版乌云高娃学习手册C语言程序设计教学课件作者第3版乌云高娃学习手册学习手册第10章文件及其应用课件.docx...

    C语言程序设计教学课件作者第3版乌云高娃学习手册C语言程序设计教学课件作者第3版乌云高娃学习手册学习手册第10章文件及其应用课件.docx 学习手册(1):文本文件的操作学习内容文本文件的操作学习目标 ...

  5. c语言程序设计第四版乌云高娃,C语言程序设计教学课件作者第2版乌云高娃课件源程序及习题答案第4章课件.ppt...

    C语言程序设计教学课件作者第2版乌云高娃课件源程序及习题答案第4章课件.ppt 第4章循环结构的流程及应用 学习目标 ? 使用循环处理需要反复执行的操作. ? 循环结构的流程图. ? 循环与条件的综合 ...

  6. c语言程序设计胡成松,C语言程序设计教学课件 作者 胡成松 黄玉兰 李文红 课后习题解答 习题答案 4选择结构程序设计 .docx...

    C语言程序设计教学课件 作者 胡成松 黄玉兰 李文红 课后习题解答 习题答案 4选择结构程序设计 .docx (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方 ...

  7. 质数的后代c语言,(信息学奥赛辅导)程序设计试题汇编(答案10)

    (信息学奥赛辅导)程序设计试题汇编(答案10) 更新时间:2017/1/26 1:12:00  浏览量:741  手机版 程序设计试题及答案 (备注:试题难度评价采取五★级评价体系,分基础.容易.一般 ...

  8. 机器人走正方形c语言代码,机器人走正方形教学案例

    机器人走正方形教学案例 教学目标: 知识目标:使学生理解循环语句在程序设计中的作用 能力目标:通过程序设计及调试培养学生创新能力 情感目标:培养互相协作的能力和不怕失败的科学精神 教学对象分析及教法设 ...

  9. c语言五子棋linux,在linux下ubuntu的五子棋游戏c语言代码.doc

    = max) { max = cur; p.x = i; p.y = j; p.z = 1; } } } return p; } //鏌ョ湅鍧愭爣x y鏄惁鑳借蛋 int if_done(int x ...

  10. C语言人民币的构造的关键,C语言程序设计 教学课件 任文 孔庆彦电子课件 全书习题及习题参考答案 第2章 C程序设计的初步知识.pdf...

    第 2 章 C 程序设计的初步知识 2-1 选择题 1.以下不能用作用户标识符的是( ) A)_26 B)case C)scanf D)Double 2 .C 语言中的数据的基本类型包括( ) A)整 ...

最新文章

  1. 关于arduino和zigbee串口16进制通信问题
  2. 做301定向跳转对网站优化有什么帮助?
  3. php中函数声明的方法,PHP中的函数声明与使用
  4. vue中有关.env;.env.development,.env.production的相关介绍
  5. 王仲远 | 基于概念知识图谱的短文本理解
  6. 国内几大最让游戏建模师羡慕的企业,你想进去吗?
  7. 冯诺依曼体系结构_极简体系结构之一:冯诺依曼体系结构
  8. 系统辨识理论及应用_企业战略分析的理论工具
  9. UltraEdit怎样修改保存默认的后缀文件名
  10. Apache for windows虚拟主机配置方案(安全优化)
  11. [EMNLP2017]Global Normalization of Convolutional Neural Networks for Joint Entity and Relation(阅读笔记)
  12. win10开机的微软服务器,微软 Win10 新 UI 的门面:教你启用 Win10 全新开机动画
  13. 高中计算机会考题,四川省高中信息技术会考资料及试题
  14. Windows邮箱登录QQ邮箱
  15. php行驶证识别代码,涨姿势:行驶证中车辆识别代码一定要知道的事情!!!
  16. 利用XrecycleView写多条目展示+流式布局
  17. [转] 大三下,我们该做什么?
  18. 【机器学习百科全书目录】PRML ESL MLAPP 西瓜书 花书 RLAI 统计学习方法 蒲公英书
  19. CDA数据分析师认证与Pearson VUE达成深度合作
  20. 细谈围城---我的启示录

热门文章

  1. 图文介绍:Winhex的使用教程
  2. 云南省A级旅游景区名录(截止2016年12月)
  3. day31管家婆项目训练笔记
  4. 第74句Lies, Damned Lies And Statistics: How Bad Statistics Are Feeding Fake News
  5. c++ 查看opencv版本 linux
  6. 图像小波去噪matlab程序,小波去噪程序(用matlab实现)
  7. Solid PDF Tools(PDF全能工具) v10.0中文破解版
  8. C4D-学习笔记-3-建模+渲染
  9. matlab图例使用技巧
  10. 认识RAW修图基础知识