1、 本 科 毕 业 论 文 儿童围棋入门学习软件的设计与实现 实现模块 Design and Implementation Of Go Learning Software for Children Implementation Module 姓 名: 学 号: 学 院:软件学院 系:软件工程 专 业:软件工程 年 级: 指导教师: 年 月 摘 要 中国古代的四大艺术,琴棋书画,历史悠久,源远流长。 其中的棋,说的就是围棋。围棋艺术,千变万 化,具有经久不衰的魅力,这是它流传几千年至今受到人们喜爱的原因 , 围棋作为一门科学,它可以最大限度地开发智力,启迪思维,锻炼头脑,陶冶情操。在围棋的对弈中,
2、包含着形象思维、逻辑思维的创作。它能增强机械记 忆和理解记忆,它能提高人们的计算本领。 学习围棋对儿童有许多的好处,但是市面上适合儿童的围棋学习软件很少。 儿童围棋入门软件就是为了让孩子们有个更好的学习围棋的工具而开发的。 系统 主要提供 围棋基本知识 学习 ,围棋测验,以及 用户自定义这三大功能 。围棋基本知识在系统 中模拟棋盘,实现吃子,打劫,悔棋,棋子统计等功能 ,并提供围棋视频的播放功能 。 围棋测验主要是测验用户对围棋定式的掌握 。 用户自定义功能实现用户自定义棋谱,保存棋谱以及读取棋谱等功能。软件主要用到的开发技术是 MFC,采用的开发工具是 VC6.0。 学习围棋是一个枯燥 辛苦
3、的过程,如果儿童没 有兴趣,学习后,儿童的棋艺长进很慢。 所以 要先培养兴趣,让儿童从被动学习变为主动学习。 因此, 根据儿童特色, 应将界面做的友好,突出 学习性 、趣味 性和 娱乐 性。 关键词 : 学习软件;围棋入门 Abstract The 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
4、, 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 thi
5、nking 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
6、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 tes
7、t how the user master the pattern. User-defined achieves user-defined chess, preservation of chess, as well as reading chess. The development of software technology is MFC, the development tool is VC6.0. Learning Go is a boring process, if the child is not interested in learning it, the childs progr
8、ess 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 e
9、ntertaining. Key words:Learning Software; Go Portal. 目录 第一章 引言 . 1 1.1 课题背景及意义 . 1 1.2 项目背景 . 2 1.2.1 项目名称 . 2 1.2.2 项目人员 . 2 1.2.3 项目描 述 . 2 1.3 系统配置要求 . 3 1.4 开发环境和开发语言 . 3 第二章 系统总体设计 . 4 2.1MFC 概述 . 4 2.2 整体框架 . 4 2.2.1 程序分层架构 . 4 2.2.2 程序模块划分 . 5 2.3 围棋基本知识学习模块 . 5 2.4 测验模块 . 6 2.5 用户自定义模 块 . 6
10、第三章 系统详细设计 . 8 3.1 程序框架建立 . 8 3.1.1 消息传递机制 . 8 3.1.2 程序框架结构 . 9 3.2 程序界面 . 9 3.2.1MFC 图形显示 . 9 3.2.2 双缓冲 .11 3.3 数据格式 . 12 3.3.1 对局数据定义 . 12 3.3.2 对局状 态定义 . 13 3.3.3 文件保存格式 . 14 3.4 基础功能实现 . 14 3.4.1 落子 . 14 3.4.2 吃子 . 15 3.4.3 悔棋 . 15 3.5 围棋基本知识模块 . 15 3.5.1 死活子的判断 . 15 3.5.2 围棋视频播放功能 . 16 3.5.3 线程
11、的使用 . 17 3.6 围棋测验模块 . 17 3.7 用户自定义模块 . 18 3.8 模块间关系 . 18 第四章 系统运行结果 . 19 4.1 程序主界面 . 19 4.2 菜单主要功能 . 19 4.3 自定义运行结果 . 20 4.4 围棋基本知识运行结果 . 23 4.5 围棋测验运行结果 . 26 第五章 结束语 . 30 参考文献 . 31 致谢 . 32 Catalog Chapter1 Introduction . 1 1.1 Background and Significance of The Subject . 1 1.2 Project Background. 2
12、 1.2.1 Project Name. 2 1.2.2 Project Member. 2 1.2.3 Project Description. 2 1.3 System Requirements. 3 1.4 Development Environment and Development Language . 3 Chapter2 System Overall Design . 4 2.1 MFC Description . 4 2.2 Main Framework. 4 2.2.1 System Layered Architecture. 4 2.2.2 System Module Di
13、vided . 5 2.3 Basic Go Knowledge Learning Module . 5 2.4 Go Test Module . 6 2.5 User-Defined Module . 6 Chapter3 System Detailed Design . 8 3.1 Establishment of System Framework . 8 3.11 Message passing mechanism . 8 3.12 Software Framework Structure . 9 3.2 System Interface. 9 3.21 MFC Graphical Di
14、splay . 9 3.22 Double Buffering . 11 3.3 Data Format. 12 3.31 GameData Definition . 12 3.32 Game State Definition. 12 3.33 File format. 14 3.4 Basic Function Realization . 14 3.41 Play. 14 3.42 Take. 14 3.43 Regret . 15 3.5 Basic Go Knowledge Module . 15 3.51 Judgement of Life and Death . 16 3.52 Go
15、 Video Play Function. 16 3.52 Use of Thread. 17 3.6 Go Test Module . 17 3.7 User-Defined Module . 18 3.8 Relationship Between The Three Modules . 18 Chapter4 System Operation Result. 19 4.1 The Main Interface of System. 19 4.2 Menu Features. 19 4.3 The Result of User-Defined . 20 4.4 The Result of B
16、asic Go Knowledge Learning . 23 4.5 The Result of Go Test . 26 Chapter5 Summary . 30 References . 31 Acknowledgement . 32 儿童围棋入门 学习 软件 的设计与实现 1 第一章 引言 1.1 课题背景及意义 围棋,在我国古代称为弈,在整个古代棋类中可以说是棋之鼻祖,相传已有4000 多年的历史。据世本所言,围棋为尧所造。晋张华在博物志中亦说: “舜以子商均愚,故作围棋以教之。 “尧、舜是传说人物,造围棋之说不可信,但它反映了围棋起源之早。春秋战国时期,围棋已在社会上广泛流传了。
17、左传 襄公二十五年曾记载了这样一件事,公元前 559 年,卫国的国君献公被卫国大夫宁殖等人驱逐出国。后来,宁殖的儿子又答应把卫献公迎回来。文子批评道:“宁氏要有灾祸了,弈者举棋不定,不胜其耦,而况置君而弗定乎 ? “用 “举棋不定“这类围棋中的术语来比喻政治上的优柔寡断,说明围棋活动在当时社会上已经成为人们习见的事物。 围棋自古以来和琴、书、画并称为四大艺术,是中华民族古老传统文化中的一颗璀璨明珠。数千年来,围棋以高雅、智慧、深邃、复杂、微妙的内涵深受知识阶层人士的钟爱。围棋是智慧的化身,下棋启迪智慧 , 掌握棋理、运用技艺;就能具有更高的思想境界与战略眼光,面对棋枰而举念触机、行棋见智、高屋
18、建瓴、全局在胸、从容不迫、运筹帷幄、不战屈人,这也有助于一个人更好地处理自然、社会、人生、政治、工作、学习等方面的问题 . 对弈 是围 棋美中最富魅力的表现形式。围棋是以黑白子代表两军对战的智力竞技。围棋对局中,一开始角上的折冲,是双方打响的前哨战;广阔的序盘,是双方在进行兵力的战略部署 。 童年时代可以说是每个人一生中智力发展最重要的阶段,如果能在这段时间内对其进行适当有效的锻炼和培养,将对其一生发展产生莫大的帮助。围棋对弈是一个重复着提出问题与解决问题的过程,可以帮助孩子在成长的到路上走得更快、更稳。 1. 学围棋可以培养孩子心静能力和认真的学习态度。 2. 学围棋可以培养孩子的逻辑思维能
19、力和记忆力。 3. 学围棋可以完善和提高孩子的判断能力和大局观念。 4. 学围棋可以培养孩子的集中力、计算力、记忆力、思考力、创造力。 儿童围棋入门 学习 软件 的设计与实现 2 1.2 项目背景 1.2.1 项目名称 儿童围棋入门软件的设计与实现 1.2.2 项目人员 周翔罡 1.2.3 项目描述 儿童围棋入门软件的意义 : 现在市面上关于儿童围棋这方面的软件还不多,儿童学习围棋基本上还是通过一些围棋入门书籍,一方面太过高深,另一方面专业性太强,并且也不是儿童所喜欢的形式,所以很有必要设计一套软件,专门提供给儿童学习围棋知识。软件的主 要 功能是让儿童学习到一些围棋的 入门知识、初级理论、定
20、式、 官子等部分, 并有 相关的测验 。根据儿童特色, 应将界面做的友好,突出 学习 性 、趣味 性和 娱乐 性。 希望通过这 个软件的 学习,能使更多的孩子爱好围棋。 儿童围棋入门软件主要有以下几个特色 : 1. 互动性强。与传统的教学类书籍相比,软件的互动性更强,儿童在实际动手操作的过程中,学习到围棋的知识。 2. 娱乐性强。学习的过程中,程序会伴有轻松活泼的提示语,让儿童在学习的过程中不会感到枯燥。 3. 可扩展性强。软件允许设置给儿童学习的围棋定式,丰富学习的内容。 软件主要实现了三大功能:围棋基本知识,围棋测验,用户自定义接口。围棋基本知识模块中,用户读取一个有关 围棋基本知识的棋谱
21、文件,系统给出相应的演示,如“吃子”这一基本知识,在读取文件到系统后,系统会自动演示如何吃子,吃子之后提子的效果 ,另外还设置了围棋视频的播放功能 。围棋测验主要是一些定式的测验,用户同样读取一个有关定式的棋谱文件,然后用户可在棋盘上下子,若下的位置正确,使棋形成为一个定式,则给出正确的提示;若不正确,给出错误的提示,并儿童围棋入门 学习 软件 的设计与实现 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 card 1.4 开发环境和 开发语言 开发环境: Visual C+6.0 Windows MFC 开发语言: C+