计算机科学系网络工程毕业论文 .doc

上传人:文库蛋蛋多 文档编号:3992678 上传时间:2023-03-30 格式:DOC 页数:24 大小:519.50KB
返回 下载 相关 举报
计算机科学系网络工程毕业论文 .doc_第1页
第1页 / 共24页
计算机科学系网络工程毕业论文 .doc_第2页
第2页 / 共24页
计算机科学系网络工程毕业论文 .doc_第3页
第3页 / 共24页
计算机科学系网络工程毕业论文 .doc_第4页
第4页 / 共24页
计算机科学系网络工程毕业论文 .doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《计算机科学系网络工程毕业论文 .doc》由会员分享,可在线阅读,更多相关《计算机科学系网络工程毕业论文 .doc(24页珍藏版)》请在三一办公上搜索。

1、 届 别 2012届 学 号 200814160237 毕业设计(论文)基于VC的成三棋游戏程序的设计与实现 姓 名 杨 剑 系 别、 专 业 计算机科学系网络工程 导 师 姓 名、职 称 曹 清 华(副 教 授) 完 成 时 间 2012-3-5 摘 要随着科学技术(特别是计算机网络技术)日新月异的发展人们的生活也发生了空前的变化。现在生活在大都市的人们总免不了想体验儿时那乡村乐趣,只是苦恨没有途径;从小在城市长大的孩子也想多一些趣味游戏,并且他们父母也希望孩子可以多了解了解农村生活以助于孩子的成长。成三棋,一款乡村儿时游戏,将我们彼此拉近了距离,结合计算机网络技术使得城乡娱乐简易可行。该游

2、戏以vc+为基础平台,借鉴五子棋、象棋、围棋等多种棋种核心算法,采用网络套接字(Socket)技术,引用MFC类库及WIN API函数;实现友好的人机界面,网内对弈、单机对弈等多项功能。拥有浓浓的乡村风味、简易操作、强烈的娱乐性与趣味性。关键字:VC/VC+,网络游戏,成三棋,乡村风味,计算机网络技术AbstractWith the dramatic development of science and technology especially the computer networking technology.Our life has an unprecedented change. P

3、eople who live in the metropolis cant help to thinking of experiencing the fun of childhood again,but bitterly to find that time past and never find again. The children burn in the city also want to have more funny games,and to their parent,its very helpful for the childrengrowth to learn more about

4、 rural lives. Three chess, a rural game played in childhood,puts us together,as well as makes rural entertainment more simple and practical with combining computer networking technology. The game,based on VC+,has not only realized many functions,such as a comfortable interface between human beings a

5、nd machine, a network competition and single-machine competition ,etc. But owned a thick rurals flavors simple and easy operation,strong entertainment and interesting,which mainly are achieved by virtue of refering the core algorithm of gobang ,etc,adopting network socket technology,quoting MFC clas

6、s library and WIN API functions. KEY WORDS:VC/VC+,NetWork Game,Three-in-a low,rural flavors, Network technology.目录1.绪论1.1课题背景.12 系统实现技术与开发环境. 22.1 C/C+简介.22.2 VC开发环境32.2.1 GDI绘图32.2.2对话框42.2.3消息响应5 2.2.4游戏编程思想.62.3 MFC总述7 2.3.1MFC中类的结构及联系.82.3.2 MFC中类的作用.93 需求分析103.1游戏用户分析103.2游戏功能分析103.3游戏的功能模块主要功能

7、 10 3.3.1登录模块.10 3.3.2下棋模块.10 3.3.3英雄榜模块.104 系统概要设计114.1模块结构设计114.1.1游戏者登录管理模块114.1.2游戏者下棋实现模块114.1.3数据流网络传输模块124.2英雄榜设计134.2.1英雄榜数据需求分析134.2.2逻辑结构设计13 4.3游戏规则说明.13 4.3.1 下棋阶段.13 4.3.2 行棋阶段.135 系统详细设计与实现145.1游戏者登录管理模块145.1.1 游戏者登录友好界面的实现.145.1.2 游戏帮助文档及基本规则的说明 .155.2 游戏者下棋模块的实现155.2.1下子及打子阶段的实现155.2

8、.2行子阶段的实现155.2.3输赢判断的实现155.2.4英雄榜的数据更新156 游戏测试 166.1 登录的测试166.2 下棋的测试166.3 英雄榜的测试16结束语参考文献致谢1 绪论1.1课题背景 游戏软件是当世界发展最迅速,最有影响力,最有潜力与活力的领域之一游戏软件深受广大青年人喜爱,而且在发达国家中老年人也有大部分喜欢游戏的,因此游戏软件在很大程度上给予绝大部分人精神上的娱乐第二次世界大战以后,电子计算机技术得到了突飞猛进的发展先是由晶体管代替了笨重的真空管,后来出现了集成电路和大规模集成电路,使电子子计算机一代一代实现更新,同时软件技术也发展迅速在美国,集中了许多计算机软件的

9、设计人才,他们工作之余,时常喜爱编一种能与人斗智的“游戏”,以此来锻炼编程的能力这种“游戏”花样繁多,但其特点都是利用计算机软件事先设计好的“分析”“判断”能力反过来与人较量由于不断修改更新,使计算机的“智力”水平与人难分高低到了90年代,游戏软件已经为世界各国的人使用,BLACKISLAND和Blizzard.这两个强大的游戏制作组起到了巨大的带动作用,还有中国的洛河工作室在国内也起到了巨大作用,他们让很多很多人喜欢上了游戏软件,打开了这个市场。如今游戏软件产业已经受到了广泛的关注,它年轻有潜力而且吸引人,让人们日益丰富的生活需求得以满足。成三棋,规则较简单,易学易懂,也是一款传统的棋类游戏

10、,她的历史也非常悠久,在公元前500多年就在我国出现了,是一种老少皆宜的棋类活动。特别是在农村,不会玩这个游戏的很少的,当然,随着人们的物质文化生活的不断丰富,现在下成三棋的人越来越少。她没有围棋、象棋这样繁复,与五子棋有些相似,但又有其自身独特的魅力,方寸之间,便能突显弈者的奇思妙想。 成三棋游戏,旨在为游戏爱好者提供一种新的娱乐途径,让大家在娱乐的同时锻炼思维,增长智慧,也将成三棋这一传统的棋类游戏利用网络进行推广发扬,使之广为流传。2 系统实现技术与开发环境2.1 C/C+简介C语言的特点:C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处

11、理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。此外,C语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类各型计算机上,从而形成了多种版本的C语言。 C+简介:在C的基础上,一九八三年又由贝尔实验室的Bjarne Strou-strup推出了C+。 C+进一步扩充和完善了C语言,成为一种面向 对象的程序设计语言。C+目前流行的最新版本是Borland C+4.5,Symante

12、c C+6.1,和Microsoft VisualC+ 2.0。C+提出了一些更为深入的概念,它所支持的这些面向对象的概念容易将问题空间直接地映射到程序空间,为程序员提供了一种与传统结构程序设计不同的思维方式和编程方法。因而也增加了整个语言的复杂性,掌握起来有一定难度。 C和C+关系C是C+的基础,C+语言和C语言在很多方面是兼容的。2.2 VC开发环境Microsoft Visual C+,(简称Visual C+、MSVC、VC+或VC)微软公司的C+开发工具,具有集成开发环境,可提供编辑C语言,C+以及C+/CLI等编程语言。VC+整合了便利的除错工具,特别是整合了微软视窗程式设计(Wi

13、ndows API)、三维动画DirectX API,Microsoft .NET框架。目前最新的版本是Microsoft Visual C+ 2010。2.2.1 GDI绘图 GDI(Graphics Device Interface,图形设备接口)是Windows操作系统的传统图形子系统,负责与设备无关的图形绘制,Win32 API为应用程序提供了丰富的绘图函数和功能,MFC对它们进行了C+类封装,参见下图。Windows应用程序MFCWin32 API执行程序用户界面(User)GDI+图形子系统(GDI)设备驱动程序内核(Kernel)图形驱动程序硬件抽象层(HAL)计算机硬件GDI与

14、Windows操作系统(其中彩色部分为操作系统)传统GDI是随Windows 1.0于1985年11月推出的,新式GDI+则是随Windows XP于2001年10月推出的GDI的改进版,增加了混色、渐变画刷、样条曲线、矩阵变换、图像处理、持久路径等新功能。随Windows Vista及.NET框架3.0微软于2006年11月又推出了基于DirectX和.NET框架的全新图形子系统WPF(Windows Presentation Foundation,视窗显示/展现基础),它统一了桌面和浏览器等客户端应用程序的图形界面,采用XAML声明式编程,将用户界面的设计和编程彻底分离开来,是Window

15、s的下一代GUI显示系统。2.2.2对话框 对话框是一种次要窗口,包含按钮和各种选项,通过它们可以完成特定命令或任务。 查找和替换对话框 对话框与窗口有区别,它没有最大化按钮、没有最小化按钮、大都不能改变形状大小。(“打开文件”对话框是可以改变大小的) 对话框:是人机交流的一种方式,用户对对话框进行设置,计算机就会执行相应的命令。对话框中有单选框、复选框等。对话框可以分为模式对话框和无模式对话框两种类型。 CDialog 为了能够方便的操作对话框,MFC为用户提供了CDialog类。它是在屏幕上显示对话框的基类,与对话框资源紧密相关,提供了管理对话框的接口,封装了一些对话框的相关操作。 从CD

16、ialog的定义代码可以看出,Cdialog提供了两套构建Cdialog对象的系统,分别用于模式对话框和无模式对话框。 无模式对话框对象的构建过程,它首先调用缺省的构造函数生成对话框对象,然后调用Create函数创建和初始化对话框。Cdialog类中的Create函数有两种函数原型: BOOL Create( LPCTSTR lpszTemplateName, CWnd* pParentWnd = NULL ); BOOL Create( UINT nIDTemplate, CWnd* pParentWnd = NULL );2.2.3消息响应 VC+的MFC类库实际上是Windows下 C+

17、编程的一套最为流行的类库。MFC的框架结构大大方便了程序员的编程工作,但是为了更加有效、灵活的使用MFC编程,了解MFC的体系结构往往可以 使编程工作事半功倍。它合理的封装了WIN32 API函数,并设计了一套方便的消息映射机制。由于视类窗口始终覆盖在框架类窗口之上,因此所有操作,包括鼠标单击、鼠标移动等操作都只能由视类窗口捕获。一个MFC消息响应函数在程序中有三处相关信息:函数原型、函数实现和以及用来关联消息和消息响应函数的宏。(1)在消息响应函数的原型代码中,函数声明的前部有一个afx_msg限定符,也是一个宏,该宏表明这个函数是一个消息响应函数的声明。(2)消息映射宏:在视图类的源文件中

18、,BEGIN_MESSAGE_MAP()END_MASSAGE_MAP()这两个宏之间定义了消息映射表,例如对于画线,其中有一ON_WM_LBUTTONDOWN()消息映射宏,这个宏的作用就是把鼠标左键按下消息(WM_LBUTTONDOWN)与一个消息响应函数关联起来,通过这种机制,一旦有消息产生,程序就会调用相应的消息响应函数来进行处理。(3)消息响应函数的定义:在视图类的源文件中,可以看到OnLButtonDown函数的定义。头文件中在两个AFX_MSG注释宏之间是消息响应函数原型的声明。源文件中有两处:一处是在两个AFX_MSG_MAP注释宏之间的消息映射宏,通过这个宏把消息与消息响应函

19、数关联起来;另一处是源文件中的消息响应函数的实现代码。 在Win32应用程序中,当有消息产生时,操作系统会把这条消息放到应用程序的消息队列中,应用程序通过GetMessage函数从这个队列中取出一条具体的消息,并通过DispatchMessage 函数把消息交给操作系统,调用的是应用程序的窗口过程,即窗口过程函数WndProc进行处理,然而在MFC程序中,并不是按这种途径进行处理的, 只要定义了与消息有关的三处信息后,便可实现消息的响应处理.MFC中采用的这种消息处理机制称为MFC消息映射机制. MFC消息映射机制的具体实现方法是:在每个能接收和处理消息的类中,定义一个消息和消息函数静态对照表

20、,即消息映射表.在消息映射表中,消息与对应的消息处理函数指针是成对出现的.某个类能处理的所有消息及其对应的消息处理函数的地址都列在这个类所对应的静态表中.当有消息需要处理时,程序只要搜索该消息静态表,查看表中是否含有该消息,就可知道该类能否处理此消息.如果能处理此消息,则同样依照静态表能很容易找到并调用对应的消息处理函数. MFC消息映射机制的实际实现过程:MFC在后台维护了一个窗口句柄与对应的C+对象指针的对照表,以例中的CDrawView类为例,与CDrawView对象相关的有一个窗口,窗口当然有它的窗口句柄,该句柄与CDrawView对象的一个指针(即CDrawView*)存在一一对应关

21、系,在窗口句柄与C+对象对照表中就维护了这种对应关系.当收到某一个消息时,消息的第一个参数就指明了该消息与哪个窗口句柄相关,通过对照表,就可以找到与之相关的C+对象指针.然后把这个指针传递给应用程序框架窗口类的基类,后者会调用一个名为WindowProc函数,该函数定义位于WinCore.cpp中.CWnd:WindowProc函数内部调用了一个OnWndMsg函数,真正的消息路由,也就是消息映射是由此函数完成的.OnWndMsg函数的处理过程:首先判断消息是否有消息响应函数.判断方法是在相应窗口类中查找所需的消息响应函数.因为传递给WindowProc的是窗口子类指针,OnWndMsg会到相

22、应的子类头文件中查找,看看DECLARE_MESSAGE_MAP()宏之上,两个AFX_MSG注释宏之间是否有相应的消息响应函数原型的声明;再到子类的源文件中看看,BEGIN_MESSAGE_MAP()和END_MESSAGE_MAP()两个宏之间是否有相应的消息映射宏.如果通过上述步骤,找到了消息响应函数,接着就调用该响应函数,对消息进行处理.如果在子类中没有找到,那么就交由基类进行处理.通过以上步骤,MFC就实现了具体的消息映射,从而完成对消息的响应 2.2.4游戏编程思想游戏架构参考示意图Launcher功能:1、 Windows主函数,创建窗口,以及处理消息2、 创建游戏,调用游戏的初

23、始化、运行、销毁函数。建议:模板式的框架,准备好一个合适自己使用的,主要是对消息处理过程的编写,直接影响游戏之外窗口的响应情况。Game功能1、 初始化游戏,创建Model、View和Timer2、 运行游戏,通过Timer来控制刷新帧率,然后获取操作,调用Model执行游戏逻辑,然后使用调用View画出画面。3、 销毁,将Model、View和Timer销毁。Model功能1、 游戏逻辑,游戏需要执行的运算都放在这里,可以通过创建其它的类来完成。2、 提供操作接口,运行游戏时根据用户操作来调用。3、 存储游戏的绘制信息,View将使用这些信息绘制画面。View功能绘制画面Timer功能定时器

24、,给需要时间控制的类提供定时的功能。建议1、 最主要的部分是Model,所有的游戏逻辑都在这里实现,设计到Model的应该只使用标准C+元素,方便移植。2、 单人游戏和多人游戏,都应通过Model提供的接口来实现。3、 View中,应该只使用Model提供的信息,绘制画面4、 如果需要增加GUI,应该再单独创建类,然后加入到Game中。例如:俄罗斯方块添加Block类,实现各种方块。在Model中实现方块的下落与清除,提供出操作的接口。实现双人对战,创建两个Model就可以了。2.3 MFC总述MFC是Win API与C+的结合,API,即微软提供的Windows下应用程序的编程语言接口,是一

25、种软件编程的规范,用于在C+环境下编写应用程序的一个框架和引擎,VC+是Windows下开发人员使用的专业C+ SDK(SDK,Standard SoftWare Develop Kit,专业软件开发平台),MFC就是挂在它之上的一个辅助软件开发包,MFC作为与VC+血肉相连的部分同BC+集成的VCL一样是一个非外挂式的软件包,类库,只不过MFC类是微软为VC+专配的 2.3.1MFC中类的结构及联系图2.1 应用层结构图2.2 windows支持层结构图 3.3 继承自CObject2.3.2MFC中类的作用 CAboutDlg类是用来建立对话框的,与对话框有关的问题都有这个类来处理。 CX

26、XXApp类是自己建的类XXX代表自己的项目名称,是实现自己内容的主要类。 CXXXDoc类是用来处理文档的类。 CXXXView类是用来处理界面的类。CMainFrame类是主框架类。3 需求分析3.1游戏用户分析 游戏主体人群及其社会特点: 本游戏主要针对的是年龄在10至15岁的未成年人,这阶段年龄的孩子正处于好奇心特别重之时。对世界的认知也正处于高峰期,了解社会了解贫苦人群体验乡村生活对他们形成完整的世界观有莫大的促进作用。3.2游戏功能分析通过软件功能的分析,根据五子棋爱好者的需求,得出以下需求信息:1. 具有重新开始功能;2. 具有认输功能;3. 具有提示该轮到哪一方下棋的功能;4.

27、 退出游戏功能;5. 判断胜负功能;6. 悔棋功能。还有用户对游戏界面的要求,通过上述的用户需求,我们可以得出一个总体的设计方案。由上述的用户需要,可以对程序的基本功能进行一个有效的分析,规定下游戏的基本功能。3.3游戏的功能模块主要功能 3.3.1 登录模块:登录模块是解决登录及注册问题的模块,为用户建立个人信息方便用户与其他用户的联系。也有利于本游戏的推广。 3.3.2 下棋模块:主要实现下棋功能,分阶段的游戏不仅有利于管理,也有利于游戏者的发挥。 3.3.3 英雄排行榜模块:有利于用户了解对手,也为用户提升自己的能力寻找合适的对手提供了方便。4 系统概要设计4.1模块结构设计4.1.1游

28、戏者登录管理模块 1.注册或登录界面设计 1)昵称 2)密码3)确认 4)取消 5)重新填写 2. 游戏界面设计 图4.1 界面结构设计 图4.2 棋子石子、棍子4.1.2游戏者下棋实现模块游戏开始轮流投子投子是否有效是否后手方已下第9子否u是是双方开始挪子恢复被打子的位置某方棋子数目小于3是否u棋局结束改变相关记录是否成三是否没有可打子是否是否u选择拿调对方非成三子 在该位置上贴上一张图片表示该位置不能投子改变相关记录否u换手点击的棋子是否有效该棋开始闪烁 准备下一步的落子位置移动是否合法消除原来显示新位置相关记录改变是否成三选择拿调对方 非成三子相关记录改变是是否否是否换手4.1.3数据流

29、网络传输模块4.2英雄榜设计4.2.1英雄榜数据需求分析4.2.2逻辑结构设计4.3 游戏规则说明 4.3.1 下棋阶段 1 首先双方在棋盘上轮流投子。 2 在投子期间,如果有某一方的某一行或一列或斜列,都为该方棋子(也就是成三)该方选择打子(打掉必须是对方的非成三子,如果对方的棋子都是成三子,便换手)。该打子位置被贴上一张大小与棋子一样大小的图片(表示该位置不能投子。在挪子部分的时候,该位置被撤销)。4.3.2 行棋阶段3 当后手方投下第九子,开始由先手方移动棋子,进入挪子部分,开始轮流挪子。 4 挪子期间的规则是:当需要点击想移动某一棋子时,该棋子便闪动。再点击它将去的位置时,原来的位置棋

30、子消失新位置出现该方棋子。当点击某棋子使其闪动时,但此时觉得点错子了,便可以将闪动棋子再点击一下。棋子便不闪动,便可以选择新的棋子了。该期间的打子规则与投子期间几乎一样,就是被打子位置不会被贴图,而会直接消失。5 当一方棋子数少于3或该方走棋时发现无棋可移动(也就该方是没气),则该方为输了,棋局结束。5 系统详细设计与实现5.1游戏者登录管理模块 5.1.1 游戏者登录友好界面的实现图5.1 登录及注册对话框BOOL CMainFrame:PreCreateWindow(CREATESTRUCT& cs)/界面初始化函数if( !CFrameWnd:PreCreateWindow(cs) )r

31、eturn FALSE;int UI_device_width=800,UI_device_height=600;/设置界面宽与高 cs.x=10;/界面在屏幕的左上角坐标 cs.y=10; cs.cx=UI_device_width; cs.cy=UI_device_height;return TRUE;void CFiveinalineView:OnDraw(CDC* pDC)/该函数是在界面建立后在棋盘上画棋盘等的/函数CFiveinalineDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);static int i=0;if(i=0)bitmap

32、.LoadBitmap(IDB_BOARDMAP);/引入图片BEGIN.CreateCompatibleDC(pDC);/创建画笔BEGIN.SelectObject(bitmap);/选中图片 pDC-BitBlt(10,70,426,375,&BEGIN,0,0,SRCCOPY);/在设定位置画图STONEPEN_CHANGE.LoadBitmap(IDB_STONE);STONEPEN.CreateCompatibleDC(pDC);STONEPEN.SelectObject(STONEPEN_CHANGE); pDC-BitBlt(12,70,40,37,&STONEPEN,0,0,

33、SRCCOPY);STICK_CHANGE.LoadBitmap(IDB_STONE);STICKPEN.CreateCompatibleDC(pDC);STICKPEN.SelectObject(STICK_CHANGE);pDC-BitBlt(100,400,36,12,&STICKPEN,0,0,SRCCOPY);i=1;5.1.2 游戏帮助文档及基本规则的说明 5.2 游戏者下棋模块的实现图5.2 下棋阶段的图片ID5.2.1下子及打子阶段的实现5.2.2行子阶段的实现5.2.3输赢判断的实现5.2.4英雄榜的数据更新6 游戏测试 6.1 登录的测试 6.2 下棋的测试 6.3 英雄榜

34、的测试结束语经过几个月的奋战成三棋项目大体上竣工了,基本上实现了原定计划。人性化的交互界面,灵活的下棋过程,合情合理的英雄排行榜为广大游戏者提供了较为满意的答复。在这次毕业论文的制作过程中我经历了很多,也收获很多。从确定题目,到找资料分析,从规划设计,到着手写代码一步步让我对一个项目的制作流程有了个较为全面的了解。从和老师一起商量题目,一起找资料,到老师敦促学习检查进度,提供意见、建议无不感受到带班老师曹清华老师的认真负责。曹老师为我们设计了提纲和基本要求,在这个学期中,我们随时都能与他取得联系询问相关问题,他总是耐心的为我们作出解答,并多次给热心地帮我们查找相关书籍资料。我们的这次设计顺利完

35、成离不开曹清华老师的帮助;同组的设计成员也为我提供了不少的意见和建议,在此一并向她们表示衷心的感谢!从和同学的讨论,到请人教我如何翻译无不感受到友情的温暖,团队的重要性。虽然这个游戏是我一个人做成的,但是血汗是属于大家的,我的老师、朋友、同学我们是一个小集体!毕业设计开发的过程,是一个学习和进步的过程,通过毕业设计我学到了很多新知识,个人能力与了很大的提高,最重要的是我深切的感受到刻苦钻研的重要性。在设计中经常遇到种种困难与挫折,几次陷入停顿状态。在这种情况下,同伴不但给予我的很多的鼓励,而且在设计上提出了很多正确的建议和善意的批评。大家一起搜集各种相关资料,一起探讨技术问题,一起攻克设计中的

36、各种困难。不过对我来说,由于时间有限,也包括我的知识水平有限,系统中有不足之处,还请各位老师斧正。1. 下棋、网络部分、英雄榜还没实现2. 最后还需一章“测试”;参考文献1 葛垚,雷超然.Visual C+.MFC.棋牌类游戏编程实例.北京.人民邮电出版社,20082 吴乃陵,况迎辉.C+程序设计.北京.高等教育出版社,20033 苗雪兰,刘瑞新. 数据库系统原理及应用教程.北京. 机械工业出版社,20074 张海藩. 软件工程M. 北京:人民邮电出版社,20025 夏靖波,王晓东.Windows.网络程序设计.西安.西安电子科技大学,20066 Luo Jian.Optimal Concur

37、rent Control of Database System. Journal of Systems Science and Systems Engineering.2000, 9(1):119-1247Lu Jingping, HE Yulin. A web product data management system based on Simple Object SQL Sercer2000 Protocol. Journal of Chongqing University-Eng. Ed,2003,2(1):57-61 .致 谢本论文是在曹清华老师的悉心指导和热情关怀下完成的。曹老师渊博的学识、严谨的治学态度及随和的为人之道给我留下了难以磨灭的印象,这将使我终身受益,同时,曹老师在生活上也给论文我极大的鼓励和帮助。为此,我要对她致以最衷心的感谢。在本科学习的四年中,我与同学建立了深厚的友谊,他们在我遇到困难时无私地伸出援助之手,对他们的帮助我特别感谢。还要提出的是要感谢网络,是百度、搜狗、有道等搜索引擎,最后,对关心、支持我的所有亲朋好友致以最衷心的感谢。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号