儿童围棋入门学习软件的设计与实现——实现模块---毕业论文_第1页
儿童围棋入门学习软件的设计与实现——实现模块---毕业论文_第2页
儿童围棋入门学习软件的设计与实现——实现模块---毕业论文_第3页
儿童围棋入门学习软件的设计与实现——实现模块---毕业论文_第4页
儿童围棋入门学习软件的设计与实现——实现模块---毕业论文_第5页
免费预览已结束,剩余34页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本 科 毕 业 论 文 儿童围棋入门学习软件的设计与实现 实现模块Design and Implementation Of Go Learning Software for Children Implementation Module姓 名: 学 号:学院:软件学院系:软件工程专 业:软件工程年 级:指导教师: 年 月摘要中国古代的四大艺术,琴棋书画,历史悠久,源远流长。 其中的棋,说的就是围棋。围棋艺术,千变万化,具有经久不衰的魅力,这是它流传几千年至今受到人们喜爱的原因,围棋作为一门科学,它可以最大限度地开发智力,启迪思维,锻炼头脑,陶冶情操。在围棋的对弈中,包含着形象思维、逻辑思维的创作。它能增强机械记忆和理解记忆,它能提高人们的计算本领。学习围棋对儿童有许多的好处,但是市面上适合儿童的围棋学习软件很少。儿童围棋入门软件就是为了让孩子们有个更好的学习围棋的工具而开发的。系统主要提供围棋基本知识学习,围棋测验,以及用户自定义这三大功能。围棋基本知识在系统中模拟棋盘,实现吃子,打劫,悔棋,棋子统计等功能,并提供围棋视频的播放功能。围棋测验主要是测验用户对围棋定式的掌握。用户自定义功能实现用户自定义棋谱,保存棋谱以及读取棋谱等功能。软件主要用到的开发技术是MFC,采用的开发工具是VC6.0。学习围棋是一个枯燥辛苦的过程,如果儿童没有兴趣,学习后,儿童的棋艺长进很慢。所以要先培养兴趣,让儿童从被动学习变为主动学习。因此,根据儿童特色,应将界面做的友好,突出学习性、趣味性和娱乐性。关键词:学习软件;围棋入门AbstractThe four ancient Chinese art, zither, chess, calligraphy and painting, have a long history and go back to ancient times. About the chess, that is the go. go art, the ever-changing, with enduring charm, it is that it has been passed down for thousands of reasons why people love it. As a science, go can maximize the development of intelligence and enlightenment thinking, exercise our minds, to cultivate virtue. In the game of go, includes the image of the thinking, logical thinking and creativity. It can enhance memory and understanding of mechanical memory, it can enhance peoples computing skills. There are many benefits for children to learn go, but there is few go learning software for children in the market. Go learning software for children is made to give children a better tool to learn go.The system provides basic-go-knowledge-learning, go-test and user-defined functions. Basic-go-knowledge-learning in the system simulation of the board, to achieve take, ko, regret, statistical features such as a pawn, and provides the video play function. Go-test is to test how the user master the pattern. User-defined relizes achieves user-defined chess, pPreservation of chess, as well as reading chess. The development of software technology is MFC, the development tool is VC6.0. Learning Go is a borning process, if the child is not interested in learning it, the childs progress is certainly slow. Therefore, we have to cultivate an interest to make the children convert from passive learning to active learning. Thus, according to childrens characteristics, the interface of the software should be friendly, and give prominence to the study, as well as the interesting and entertaining.Key words:Learning Software; Go Portal.目录第一章引言11.1课题背景及意义11.2项目背景21.2.1项目名称21.2.2项目人员21.2.3项目描述21.3系统配置要求31.4开发环境和开发语言3第二章 系统总体设计42.1MFC概述42.2整体框架42.2.1程序分层架构42.2.2程序模块划分52.3围棋基本知识学习模块52.4测验模块62.5用户自定义模块6第三章系统详细设计83.1程序框架建立83.1.1消息传递机制83.1.2程序框架结构93.2程序界面93.2.1MFC图形显示93.2.2双缓冲113.3数据格式123.3.1对局数据定义123.3.2对局状态定义133.3.3文件保存格式143.4基础功能实现143.4.1落子143.4.2 吃子153.4.3悔棋153.5围棋基本知识模块153.5.1死活子的判断153.5.2围棋视频播放功能163.5.3线程的使用173.6围棋测验模块173.7用户自定义模块183.8模块间关系18第四章 系统运行结果194.1程序主界面194.2菜单主要功能194.3自定义运行结果204.4围棋基本知识运行结果234.5围棋测验运行结果26第五章 结束语30参考文献31致谢32CatalogChapter1 Introduction11.1 Background and Significance of The Subject 11.2 Project Background21.2.1 Project Name21.2.2 Project Member21.2.3 Project Description21.3 System Requirements31.4 Development Environment and Development Language3Chapter2 System Overall Design42.1 MFC Description42.2 Main Framework42.2.1 System Layered Architecture42.2.2 System Module Divided52.3 Basic Go Knowledge Learning Module52.4 Go Test Module62.5 User-Defined Module6Chapter3 System Detailed Design83.1 Establishment of System Framework83.11 Message passing mechanism83.12 Software Framework Structure93.2 System Interface93.21 MFC Graphical Display93.22 Double Buffering113.3 Data Format123.31 GameData Definition123.32 Game State Definition123.33 File format143.4 Basic Function Realization143.41 Play143.42 Take143.43 Regret153.5 Basic Go Knowledge Module153.51 Judgement of Life and Death163.52 Go Video Play Function163.52 Use of Thread173.6 Go Test Module173.7 User-Defined Module183.8 Relationship Between The Three Modules18Chapter4 System Operation Result194.1 The Main Interface of System194.2 Menu Features194.3 The Result of User-Defined204.4 The Result of Basic Go Knowledge Learning234.5 The Result of Go Test26Chapter5 Summary30References31Acknowledgement32儿童围棋入门学习软件的设计与实现第一章 引言1.1课题背景及意义围棋,在我国古代称为弈,在整个古代棋类中可以说是棋之鼻祖,相传已有4000多年的历史。据世本所言,围棋为尧所造。晋张华在博物志中亦说:舜以子商均愚,故作围棋以教之。尧、舜是传说人物,造围棋之说不可信,但它反映了围棋起源之早。春秋战国时期,围棋已在社会上广泛流传了。左传襄公二十五年曾记载了这样一件事,公元前559年,卫国的国君献公被卫国大夫宁殖等人驱逐出国。后来,宁殖的儿子又答应把卫献公迎回来。文子批评道:宁氏要有灾祸了,弈者举棋不定,不胜其耦,而况置君而弗定乎?用举棋不定这类围棋中的术语来比喻政治上的优柔寡断,说明围棋活动在当时社会上已经成为人们习见的事物。围棋自古以来和琴、书、画并称为四大艺术,是中华民族古老传统文化中的一颗璀璨明珠。数千年来,围棋以高雅、智慧、深邃、复杂、微妙的内涵深受知识阶层人士的钟爱。围棋是智慧的化身,下棋启迪智慧,掌握棋理、运用技艺;就能具有更高的思想境界与战略眼光,面对棋枰而举念触机、行棋见智、高屋建瓴、全局在胸、从容不迫、运筹帷幄、不战屈人,这也有助于一个人更好地处理自然、社会、人生、政治、工作、学习等方面的问题. 对弈是围棋美中最富魅力的表现形式。围棋是以黑白子代表两军对战的智力竞技。围棋对局中,一开始角上的折冲,是双方打响的前哨战;广阔的序盘,是双方在进行兵力的战略部署。童年时代可以说是每个人一生中智力发展最重要的阶段,如果能在这段时间内对其进行适当有效的锻炼和培养,将对其一生发展产生莫大的帮助。围棋对弈是一个重复着提出问题与解决问题的过程,可以帮助孩子在成长的到路上走得更快、更稳。1. 学围棋可以培养孩子心静能力和认真的学习态度。2. 学围棋可以培养孩子的逻辑思维能力和记忆力。3. 学围棋可以完善和提高孩子的判断能力和大局观念。4. 学围棋可以培养孩子的集中力、计算力、记忆力、思考力、创造力。1.2项目背景1.2.1项目名称 儿童围棋入门软件的设计与实现1.2.2项目人员 周翔罡1.2.3项目描述 儿童围棋入门软件的意义: 现在市面上关于儿童围棋这方面的软件还不多,儿童学习围棋基本上还是通过一些围棋入门书籍,一方面太过高深,另一方面专业性太强,并且也不是儿童所喜欢的形式,所以很有必要设计一套软件,专门提供给儿童学习围棋知识。软件的主要功能是让儿童学习到一些围棋的入门知识、初级理论、定式、官子等部分,并有相关的测验。根据儿童特色,应将界面做的友好,突出学习性、趣味性和娱乐性。希望通过这个软件的学习,能使更多的孩子爱好围棋。儿童围棋入门软件主要有以下几个特色:1. 互动性强。与传统的教学类书籍相比,软件的互动性更强,儿童在实际动手操作的过程中,学习到围棋的知识。2. 娱乐性强。学习的过程中,程序会伴有轻松活泼的提示语,让儿童在学习的过程中不会感到枯燥。3. 可扩展性强。软件允许设置给儿童学习的围棋定式,丰富学习的内容。软件主要实现了三大功能:围棋基本知识,围棋测验,用户自定义接口。围棋基本知识模块中,用户读取一个有关围棋基本知识的棋谱文件,系统给出相应的演示,如“吃子”这一基本知识,在读取文件到系统后,系统会自动演示如何吃子,吃子之后提子的效果,另外还设置了围棋视频的播放功能。围棋测验主要是一些定式的测验,用户同样读取一个有关定式的棋谱文件,然后用户可在棋盘上下子,若下的位置正确,使棋形成为一个定式,则给出正确的提示;若不正确,给出错误的提示,并撤销,让用户再尝试。用户自定义接口功能主要使用户可以自定义棋盘,并用特定文件格式,保存棋谱,读取棋谱,修改棋谱。1.3系统配置要求操作系统:Windows XP/Vista(32-Bit)处理器:XP: 2.0 GHz (Intel Pentium 4; AMD Athlon 2000+)/ Vista: 2.2 GHz (Intel Pentium 4/AMD Athlon 2200+)内存:XP/Vista:256MB硬盘:10MB显卡:NVIDIA GeForce 6800, ATI Radeon X1800 or higher end DirectX 9.0c compatible gfx card1.4开发环境和开发语言开发环境:Visual C+6.0 Windows MFC开发语言:C+第2章 系统总体设计2.1MFC概述MFC (Microsoft Foundation Class Library)中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序员在此基础上来建立Windows下的应用程序,这是一种相对SDK来说更为简单的方法。因为总体上,MFC框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓。Microsoft Visual C 提供了相应的工具来完成这个工作:AppWizard可以用来生成初步的框架文件(代码和资源等);资源编辑器用于帮助直观地设计用户接口;ClassWizard用来协助添加代码到框架文件;最后,编译,则通过类库实现了应用程序特定的逻辑。 MFC提供了一个Windows应用程序开发模式,对程序的控制主要是由MFC框架完成的,而且MFC也完成了大部分的功能,预定义或实现了许多事件和消息处理,等等。框架或者由其本身处理事件,不依赖程序员的代码;或者调用程序员的代码来处理应用程序特定的事件。 MFC是C 类库,程序员就是通过使用、继承和扩展适当的类来实现特定的目的。例如,继承时,应用程序特定的事件由程序员的派生类来处理,不感兴趣的由基类处理。实现这种功能的基础是C 对继承的支持,对虚拟函数的支持,以及MFC实现的消息映射机制。2.2整体框架2.2.1程序分层架构图2-2-1 程序分层架构图2.2.2程序模块划分图2-2-2程序模块划分图2.3围棋基本知识学习模块围棋基本知识模块相应用户点击相应菜单项之后的操作。其中涉及到的操作有:文件读取,线程操作以及基础的图形界面操作:图2-3-1基本知识模块相关图2.4测验模块测验模块涉及到的操作有图形界面操作,悔棋操作,文件操作。图2-3-2测验模块相关图2.5用户自定义模块用户自定义模块涉及到的操作有图形界面操作,文件操作。图2-3-3用户自定义模块相关图第三章 系统详细设计3.1程序框架建立3.1.1消息传递机制Windows程序的运行是依靠外部发生的事件来驱动的,事件由操作系统捕捉,以消息的形式进入消息队列,然后通过消息循环从队列中不断取出消息,送到对应的窗口过程里处理。相对于DOS程序,Windows是以WinMain作为程序的入口点。程序通过GetMessage函数从和某个线程相对应的消息队列里面把消息取出来并放到消息变量msg里面。然后TranslateMessage函数用来把键盘消息转化并放到响应的消息队列里面,最后DispatchMessage函数把消息分发到相关的窗口过程去处理。窗口过程根据消息的类型对不同的消息进行相关的处理。MFC把消息调用的过程给封装起来,使用户能够通过ClassWizard方便的使用和处理Windows的各种消息。在MFC的框架结构下,“消息映射”是通过巧妙的宏定义,形成一张消息映射表格来进行的。这样一旦消息发生,Framework就可以根据消息映射表格来进行消息映射和命令传递。 在MFC框架下,一般一个消息的处理过程是这样的: (1)函数AfxWndProc接收Windows操作系统发送的消息。 (2)函数AfxWndProc调用函数AfxCallWndProc进行消息处理,这里一个进步是把对句柄的操作转换成对CWnd对象的操作。 (3)函数AfxCallWndProc调用CWnd类的方法WindowProc进行消息处理。 (4)WindowProc调用OnWndMsg进行正式的消息处理,即把消息派送到相关的方法中去处理。在CWnd类中都保存了一个AFX_MSGMAP的结构,而在AFX_MSGMAP结构中保存有所有我们用ClassWizard生成的消息的数组的入口,我们把传给OnWndMsg的message和数组中的所有的message进行比较,找到匹配的那一个消息。实际上系统是通过函数AfxFindMessageEntry来实现的。找到了那个message,实际上我们就得到一个AFX_MSGMAP_ENTRY结构,而我们在上面已经提到AFX_MSGMAP_ENTRY保存了和该消息相关的所有信息,其中主要是消息的动作标识和相关的执行函数。然后我们就可以根据消息的动作标识调用相关的执行函数,而这个执行函数实际上就是通过ClassWizard在类实现中定义的一个方法。这样就把消息的处理转化到类中的一个方法的实现上。3.1.2程序框架结构图3-1程序框架结构图3.2程序界面3.2.1MFC图形显示Windows提供显示设备环境定义了逻辑画面,而GDI则提供用于在DC上画图的绘图工具。MFC定义若干种对应于Windows的会同工具的图形对象。包括:画笔,画刷,字体,位图,调色板,绘图区域。这些绘图工具封装在MFC图形对象类中。这些类的派生关系如图3-2。图3-2图形对象的层次结构图形对象的操作步骤:1)定义一个图形对象,并用对应的Creat()方法初始化对象。例如,若要创建CPen对象,使用CreatPen()方法。2)一般使用CDC:SelectObject()方法,选定新对象,该方法返回一个指针,指向被替换掉的原绘画对象,该返回对象要进行保存。3)完成绘画後,再次使用CDC:SelectObject()方法,将上一步保存的原来的绘画对象恢复,使所有一切恢复原样。GDI坐标系GDI支持两种坐标系,即物理坐标系和逻辑坐标系。物理坐标系以窗口显示左上角为原点,位置为(0,0),X轴向右逐步递增,Y轴向下递增。X,Y轴的长度取决于当前的视频分辨率,如(640,480),(800,600)(1024,768)逻辑坐标分为不同类型,Windows将当前显示屏的坐标变换成物理坐标,然后显示图形输出。GDI函数以及CDC类中的MFC包装方法均使用了逻辑坐标。逻辑坐标映射方式逻辑窗口的原点定义了窗口的左上角,所有其他点均以原点为参照点。映射方式定义了将逻辑单位转换成物理设备单位时用的逻辑计量单位。还规定了X,Y轴的方向。Windows支持的逻辑映射方式:MM_ANISOTROPICX轴正向向右,Y轴正向向上.标尺刻度可变的坐标轴MM_HIENGLISHX轴正向向右,Y轴正向向上.单位刻度为:0.001 inchMM_HTMETRICX轴正向向右,Y轴正向向上.单位刻度为:0.01 mmMM_ISOTROPICMM_LOENGLISHMM_TEXT MM_TWIPS矢量图形Win32 GDI提供了许多可以使用的矢量图形输出函数。分为两种类型:1)线条和曲线2)闭合图形绘图模式:规定了当前的画笔与显示画面已经存在的对象之间的颜色是如何组合的。绘图模式代表了两个变量之间的所有可能布尔组合。采用二进制运算符AND、OR、XOR、NOT。3.2.2双缓冲在图形图象处理编程过程中,双缓冲是一种基本的技术。我们知道,如果窗体在响应WM_PAINT消息的时候要进行复杂的图形处理,那么窗体在重绘时由于过频的刷新而引起闪烁现象。解决这一问题的有效方法就是双缓冲技术。因为窗体在刷新时,总要有一个擦除原来图象的过程OnEraseBkgnd,它利用背景色填充窗体绘图区,然后在调用新的绘图代码进行重绘,这样一擦一写造成了图象颜色的反差。当WM_PAINT的响应很频繁的时候,这种反差也就越发明显。于是我们就看到了闪烁现象。我们会很自然的想到,避免背景色的填充是最直接的办法。但是那样的话,窗体上会变的一团糟。因为每次绘制图象的时候都没有将原来的图象清除,造成了图象的残留,于是窗体重绘时,画面往往会变的乱七八糟。所以单纯的禁止背景重绘是不够的。我们还要进行重新绘图,但要求速度很快,于是我们想到了使用BitBlt函数。它可以支持图形块的复制,速度很快。我们可以先在内存中作图,然后用此函数将做好的图复制到前台,同时禁止背景刷新,这样就消除了闪烁。以上也就是双缓冲绘图的基本的思路。在双缓冲方法中,首先要做的是屏蔽背景刷新。背景刷新其实是在响应WM_ERASEBKGND消息。我们在视类中添加对这个消息的响应,可以看到缺省的代码是调用父类的OnEraseBkgnd函数,我们屏蔽此调用,只须直接return TRUE;即可。下面是内存缓冲作图的步骤。1定义用于缓冲作图的内存DC2定义内存中承载临时图象的位图3依附窗口DC创建兼容内存DC4创建兼容位图5将位图选择进内存DC6按原来背景填界面区7在内存DC上做同样的图象由于复杂的画图操作转入后台,我们看到的是速度很快的复制操作,自然也就消除了闪烁现象。3.3数据格式3.3.1对局数据定义表3-1对局数据定义表定义描述CRect m_rectEllipse1919当前围棋子所在矩形int nSign2121点标志int nOldSign2121吃掉前的标志int nChainRow1920存放水平方向的点标志之间的关系int nChainCol2019存放竖直方向的点标志之间的关系int nBackSign2121前次位置标志备份int nBackCalculateWhite白子统计备份nBackCalculateBlack黑子统计备份int nCount下的数目int nCalculateWhite白子统计int nCalculateBlack黑子统计3.3.2对局状态定义表3-2 Chain链的状态表#define nDifferent 0链标志,链的两端为一黑一白,或者一黑/白一边界#define nFree 1链标志,链的两端为一黑/白一空白#define nSame 2链标志,链的两端为相同表3-3 nSign nOldSign的标志状态#define nOut 3界外#define nBlack 2标志为nBlack时画黑棋#define nWhite 1标志为nWhite时画白棋#define nDie 0当前点被吃掉,标志清零,或者本来为空位状态表3-4当前点相关的标志表#define nCenter (pDoc-nSignrow+1col+1)当前点的标志#define nLeft (pDoc-nSignrow+1col)当前点的左相邻点的标志#define nUp (pDoc-nSignrowcol+1)当前点的上相邻点的标志#define nRight (pDoc-nSignrow+1col+2)当前点的右相邻点的标志#define nDown (pDoc-nSignrow+2col+1)当前点的下相邻点的标志#define nBackCenter (pDoc-nBackSignrow+1col+1)当前点的标志备份#define nBackOldCenter (pDoc-nBackOldSignrow+1col+1)当前点前一次标志备份#define nOldCenter (pDoc-nOldSignrow+1col+1)当前点的老标志#define nOldLeft (pDoc-nOldSignrow+1col)当前点的左相邻点的老标志#define nOldUp (pDoc-nOldSignrowcol+1)当前点的上相邻点的老标志#define nOldRight (pDoc-nOldSignrow+1col+2)当前点的右相邻点的老标志#define nOldDown (pDoc-nOldSignrow+2col+1)当前点的下相邻点的老标志#define nLeftChain pDoc-nChainRowrowcol当前点于左边邻点的链#definenRightChain pDoc-nChainRowrowcol+1当前点于右边邻点的链#define nUpChain pDoc-nChainColrowcol当前点于上边邻点的链#define nDownChain pDoc-nChainColrow+1col当前点于下边邻点的链表3-5当前点的状态表#define nBlack 2标志为nBlack时画黑棋#define nWhite 1标志为nWhite时画白棋#define nDie 0当前点被吃掉,标志清零,或者本来为空位状态#define nWait 4被围死#define nOut 3界外3.3.3文件保存格式本系统中的棋谱文件是以.go为后缀名的特定文件格式保存的。3.4基础功能实现3.4.1落子依围棋原理,落子为黑先白后,黑白交替。在计算机中,则设立一个布尔型变量,用来判断当前应该谁来落子,落子是黑是白。当鼠标点下时,得到鼠标点击坐标,取整后得到落子坐标,然后进行判断,欲落子的地方是否已经有棋子?若有,则不落子,重新选择落子点。若没有,则再判断,该点是否在棋盘外。若在棋盘外,亦重新选择落子点。3.4.2 吃子每下一个子,先将此前的各状态备份,然后更改当前点和周围四个点的关系,即链标志。对所有的点进行扫描,并根据情况进行更改,即重新生成标志数组,把更改前的状态保存,扫描所有点,如果标志pDoc-nSignij为nWhite的相邻点,标志nWhiteWait改为nWhite;扫描所有点,如果标志pDoc-nSignij为nBlack的相邻点,标志nBlackWait改为nBlack。清除所有标志为nWhiteWait或者nBlackWait或者nDie的棋子,将与之相关的非界外链改为nFree,界外链维持nDifferent。3.4.3悔棋在棋类活动中,失误是难免的,所以悔棋也是棋类游戏的一个必要功能。悔棋的判断主要有一下几种情况:(1)当前子的四周至少有一个空位,活棋,此时与该子有关的所有子状态不变,若已经被改为nWait则要改回来。(2)当前子的四周有子,且都是不同子,被围死,此时置该子的标志为nWait,更新中被清除。(3)当前子的四周都有子,但至少有一个相同子,此时标志若为nWhite则改为nWhiteWait,nBlack则改为nBlackWait,并保存原标志到nOldCenter。3.5围棋基本知识模块本模块主要是提供围棋一些基本知识的演示。演示的载体是棋盘,主体是棋局文件。3.5.1死活子的判断图3-3围棋基本知识模块死活子判断操作流程图3.5.2围棋视频播放功能图3-4围棋基本知识模块视频播放操作流程图3.5.3线程的使用吃子的演示过程涉及到MFC中线程的概念。线程是操作系统分时调度分配 CPU时间的基本实体。一个线程可以执行程序的任意部分的代码,即使这部分代码被另一个线程并发地执行;一个进程的所有线程共享它的虚拟地址空间、全局变量和操作系统资源。Win32中使用 CreateThread函数创建线程。线程中一个重要的函数Sleep,参数代表线程暂停的时间,以毫秒为单位。例如本系统中吃子的演示线程Sleep(3000)。3.6围棋测验模块图3-5围棋测验模块操作流程图如果用户一直下子错误,则系统会允许用户一直尝试,但是不能使用其他的菜单功能,也不能继续棋局。3.7用户自定义模块图3-6用户自定义模块操作流程图3.8模块间关系围棋基本知识模块与围棋测验模块都是基于用户自定义模块:图3-7模块间关系图第四章 系统运行结果4.1程序主界面图4-1程序主界面图4.2菜单主要功能图4-2菜单栏图自定义菜单:用户自定义棋局:清空棋盘,用户在棋盘上设置棋局。保存:保存用户自定义的棋局,保存为以.go为后缀名的特定的文件格式。读取:读取用户自定义的棋局。围棋基本知识菜单:吃子演示:读取一个演示的棋谱文件后,自动演示吃子的过程及结果。视频演示:播放用户选择的围棋基本知识的视频文件。围棋测验:定式测验:读取一个定式的棋谱文件后,测验对定式的掌握。4.3自定义运行结果用户自定义棋局用来清空棋盘,然后用户可在棋盘上下子。用户下完子之后,想保存文件,则点击用户自定义下的保存菜单,弹出另存为对话框:图4-3选择保存菜单保存文件图例如保存文件为“bb.go”,则结果如下:图4-4保存文件成功图读取菜单项用来读取棋谱文件,读取前的棋盘:图4-5读取棋谱文件前效果图读取“bb.go”文件后:图4-6读取棋谱文件后效果图4.4围棋基本知识运行结果点击“围棋基本知识”菜单下的“吃子演示”菜单项:图4-7点击吃子演示菜单项示意图选择“吃子.go”文件,打开:图4-8选择“吃子.go”文件示意图三秒后程序自动演示出吃子的效果:图4-9自动吃子示意图点击“围棋基本知识”菜单下的“视频演示”菜单项:图4-10选择视频文件示意图播放视频效果:图4-11播放视频文件效果图4.5围棋测验运行结果点击“围棋测验”菜单下的“

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论