




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
福建农林大学金山学院本科毕业设计书本科毕业设计说明书设计主题:基于GDI的局域网四军象棋游戏专业年级: 2008级计算机科学与技术学位:名称:指导教师,角色:讲师2012年5月15日目录摘要IAbstractII战斗机1引言- 1 -1.1问题概述- 1 -1.1.1问题的原因- 1 -1.1.2目的和意义- 1 -1.1.3国内外研究现状- 1 -1.2问题分析- 2 -1.2.1主要问题- 2 -1.2.2难点与重要- 2 -1.2.3想法和方法- 2 -2可行性分析和需求分析- 4 -2.1可行性分析- 4 -2.1.1技术可行性分析- 4 -2.1.2经济可行性分析- 5 -2.1.3操作可行性分析- 6 -2.1.4小时可行性分析- 6 -2.1.5结论- 6 -2.2需求分析- 6 -3总体设计- 7 -3.1总体设计框架- 7 -3.2模块功能概要- 7 -3.3重要算法- 8 -3.3.1双缓冲技术描绘- 8 -3.3.2工兵找路- 8 -3.3.3板坐标转换- 9 -4详细设计- 11 -4.1模块结构- 11 -4.2模块详情- 11 -4.2.1主模块- 11 -4.2.2大厅接口模块- 12 -4.2.3游说处理模块- 13 -4.2.4游戏接口模块- 14 -4.2.5游戏处理模块- 15 -4.2.6网络消息处理模块- 17 -5调试和测试系统- 19 -5.1面临的主要问题- 19 -5.2如何解决问题- 19 -5.3方案执行情况- 20 -六结论- 21 -参考文献- 22 -谢谢- 23 -摘要本文详细介绍了windows环境下局域网四军象棋游戏的设计与实现。 该游戏使用套接字编程实现LAN通信的windows提供的GDI图形设备接口来实现接口。 本游戏采用C/S结构设计,以一方玩家为服务器,另一方玩家为客户机与服务器连接。 游戏最终通过局域网制作游戏,参加游戏,实现协调游戏的功能,通过局域网实现在线对战。关键词:四军将棋在线对战插座GDIAbstractthisperparesdectribesthedesingandimplementationofawindowsoperationsystemlansiguojunqigame.the usewindowsgdigraphicsdeviceinterf e.thisgameusesthec/sstructuredesign,as a server on one of the players,其他播放器连接器totheserverasaclients.thegamehasfinallrealizedthels jointhegameandcollaborativegame您是accanachivetherequirentityofonlinegaminginthelanKey words: Siguojunqi game; 在线广告; 插槽GDII1引言1.1问题概述1.1.1问题的原因四军象棋游戏是一种非常有趣的游戏,可以锻炼人的记忆、思考、判断和心理。 随着网络的普及,网上的象棋成为男女老少喜欢的休闲游戏。 现在有QQ四国将棋、联合四国将棋等。 网络比赛很简单,但对于在校园网上的我们来说,网络确实不好,经常有中断的问题,所以考虑到局域网中使用的四国象棋,可以满足大家棋友的需要。1.1.2目的和意义分析、探索和实践套接字网络编程和gdi图形设备接口。 通过gdi编程,提供了友好的用户操作界面,通过套接字编程,使用TCP和UDP协议实现了局域网内的数据传输,实现了多人协作游戏的目的。 还可以了解C/S结构程序的基本实现方法。1.1.3国内外研究现状C/S体系结构或客户端/服务器(Client/Server )体系结构是众所周知的软件系统体系结构,通过合理地将任务分配给客户端和服务器端来降低系统通信成本。 客户端和服务器端程序不同,用户程序主要在客户端,服务器端主要提供数据管理、数据共享、数据和系统维护和同时控制等,客户端程序主要完成用户的具体业务。 C/S结构如图1-1所示。LAN游戏也经常设计成以一台计算机为服务器,以其他计算机为客户端,客户端连接到服务器,然后通过LAN进行数据交换。图1-1 C/S结构1.2问题分析1.2.1主要问题开发局域网游戏时,首先要解决局域网上的通信问题。 如何在局域网中找到服务器?连接服务器的方法解决了数据交换方法以上的问题后,为每个游戏创建不同的游戏逻辑处理类,通过该逻辑处理类实现了对应的游戏逻辑,在例子的象棋中实现了相互对战等功能。 另外,象棋中棋子的显示、按钮的位置等,有必要解决游戏界面的显示。1.2.2难点和关键1 .如果局域网中有多台服务器,如何进行检索和区分?2 .客户端程序处理游戏显示和操作接口,客户端具有简单的逻辑处理功能,同时负责收发与服务器侧交换的包。3 .服务器程序在处理服务器侧逻辑、游戏逻辑、客户端之间的网络信息传递的同时,服务器侧负责客户端数据的接收和传输。1.2.3思路和方法对于客户机在LAN中找到服务器的方法,服务器可以通过在LAN中发送广播并发送诸如其IP地址的信息来定位服务器,并且客户机可以通过接收广播消息来按照IP地址定位服务器这样可以连接到不同的服务器,在服务器和客户端之间进行通信。游戏接口的显示可以使用gdi图形设备接口来以单一二维阵列标识棋盘的状态,并且以二维阵列的gdi来绘制棋盘。2可行性分析和需求分析2.1可行性分析2.1.1技术可行性分析本程序的开发基于C/S模型,包括客户端和服务器两部分,前者主要负责简单的逻辑处理和前端接口的显示,后者主要负责游戏逻辑的判断和数据的交换。 网络通信使用TCP/IP协议,可以使用接口显示GDI图形设备接口来绘制接口,接口显示GDI图形设备接口可以采用套接字编程技术。TCP/IP协议TCP/IP协议(transmissioncontrolprotocol/internet protocol )是互联网上计算机进行通信的标准,命名为组协议中最重要的两个协议TCP和IP。 internet协议讨论必须从TCP/IP开始,并且是所有其他协议的基础。 TCP/IP协议是互联网的通用语言,必须在主机之间利用TCP/IP互操作信息。TCP/IP是物理网络上的一组完整协议。 其核心部分是传输层协议(TCP/UDP )、网络层(IP )和物理接口层,这些层通常在操作系统内核中实现。 TCP/UDP层提供传输层服务,并且IP协议提供网络层服务。TCP/IP协议是如图2-1所示的四层协议。图2-1 TCP/IP协议体系结构图2.windows套接字编程windowssocket(winsock )是在Win32平台上访问基本网络协议的接口。 根据Win32平台,windows套接字以不同的方式存在,作为网络编程接口而不是协议存在。Windows Sockets编程的基本模型至少需要一组插槽才能通过互联网进行通信。 其中一个在客户端上运行,另一个在服务器端上运行,称为服务器套接字。 一般地,使用socket的网络通信包括面向连接的流系统和不连接的数据报系统这两种系统。 面向连接的流方式调用过程如图2-2所示。图2-2面向连接的流方式调用过程3、GDI图形设备接口GDI是Windows XP子系统,主要负责向显示画面和打印装置输出相关信息,是在类别c中实现的一系列应用程序接口。 从名称中可以看出,GDI是旧版本的GDI的后继者,虽然为了兼容性,Windows XP支持旧版本的GDI,但是在开发新应用时,开发者应该使用GDI来满足图形输出。 GDI在旧版Windows中优化了GDI并添加了许多新功能。作为图形设备接口的GDI在应用开发者输出画面和打印机的信息时,无需考虑具体的显示设备细节,只要调用GDI库输出的类的几种方法就能够完成图形操作。 实际绘制工作已经完成,这些方法将传递给特定的设备驱动程序,并且GDI非常容易将图形硬件和应用程序隔离开来,以便于开发者创建独立于设备的应用程序。由上述分析可知,开发以下程序在技术上是可行的。2.1.2经济可行性分析本程序所要求的硬件(计算机及相关硬件)和软件环境(vs2008 )容易在市场上购买或从相关网站下载,但根据不完全调查,本专业计算机的拥有率接近100%,系统成本主要集中在程序的开发和维护上由于学校校园网的存在,运行成本几乎可以忽略不计。 使用本程序时,校园网和外部网连接时的网络速度慢,可以保护同学们不受频繁中断的问题的影响。 请充分感受四军将棋的魅力。 与小的开发成本相比,能够获得良好的游戏体验,获得良好的心情当然是有价值的,所以从经济上来说,开发这个程序是可能的。2.1.3操作可行性分析本程序实现了可视化界面,界面友好,操作简单,布局简洁。 本计划的游戏规则和人气高的QQ四国将棋一样,如果玩过QQ四国将棋就可以轻松拿到。 在游戏操作中,只需点击鼠标即可进行所有操作,因此几乎不需要使用本程序的人的计算机专业知识,只要是接触计算机的人,就能够立刻习惯本程序的操作。2.1.4小时可行性分析本程序的设计和完成大致分为四个阶段:第一阶段,进行需求分析,该阶段需要大约一周时间,主要分析和判断系统实现的功能,在决定每个基本功能采用的语言的第二阶段,掌握必要的技术,本阶段需要大约两周时间。 主要对本程序采用的语言进行初步理解,查阅相关资料,对相关算法和函数进行初步理解、认识和掌握的第三阶段,此阶段是全系统最耗时的阶段,需要约4周的时间,主要是系统软件程序代码因此,开发该系统在时间上是可行的。2.1.5结论分析了该方案实现的技术、经济、操作、时间可行性。 结论:本系统是可行的。2.2需求分析1 )作为局域网游戏,要求首先要具备的基本功能是通过可在局域网之间连接来实现的,所以lan上的机器可以制作游戏,作为服务器也可以参加游戏,作为客户端进行游戏2 )由于四军象棋是多人协调游戏,因此必须实现多人协调游戏的能力,即在各客户端能够实现数据的同步。3 )为了方便起见,要求能够保存最近的游戏布局,游戏接口简洁,游戏操作简单。4 )需要良好的游戏体验,响应速度要求较快,无长时间等待,同时具有稳定性、可靠性和稳健性,能够控制不确定因素。5 )有必要实现四国将棋的游戏规则,本游戏制定了与QQ四国将棋相同的游戏规则。3整体设计3.1总体设计框架图3-1整体框图3.2模块功能概要1、入口程序和全局变量:定义程序的入口函数WinMain,以及几个结构和全局变量,主要功能是保存程序的循环和结束条件的判断以及几个全局使用的变量。2 .窗口类的创建:简单地封装windows创建窗口的API,实现程序基本窗口的创建。3 .网络通信类别: socket发送UDP广播消息,接收UDP广播消息,发送TCP消息,通过简单地封装TCP消息的LAN实现数据交换。4、大厅窗口的信息处理类:主要是大厅的界面的实现,通过用户在大厅的操作启动对应的线程。5、游戏窗口消息处理类:主要是游戏接口的实现,根据用户的操作作出不同的响应。6、线程处理类:线程处理函数集中在这里,并且功能允许在启动线程时调用不同的线程处理函数。7、游戏逻辑处理类:包括选择与棋子的定位、棋子能否启动的判断、棋子的命中、取消棋子的判断等相关的功能的处理。8、服务器端网络信息处理类
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南2025年湖南省市场监督管理局所属事业单位高层次人才招聘笔试历年参考题库附带答案详解
- 安徽电气工程职业技术学院《机电系统设计》2023-2024学年第二学期期末试卷
- 阜新高等专科学校《纸样设计与工艺(三)》2023-2024学年第二学期期末试卷
- 天津商业大学《小学课堂组织与管理》2023-2024学年第二学期期末试卷
- 丽江师范高等专科学校《生物化学G》2023-2024学年第二学期期末试卷
- 濮阳医学高等专科学校《工程软件应用》2023-2024学年第二学期期末试卷
- 宜昌科技职业学院《舞蹈基础训练》2023-2024学年第二学期期末试卷
- 辽宁轻工职业学院《软件文档写作》2023-2024学年第二学期期末试卷
- 上海中医药大学《汉俄翻译》2023-2024学年第二学期期末试卷
- 广州松田职业学院《软件设计综合训练》2023-2024学年第二学期期末试卷
- ktv入股协议合同范例
- 吸氧并发症预防及处理
- GB 20943-2025交流-直流和交流-交流电源能效限定值及能效等级
- 2025年甘肃省公路发展集团限公司招聘70人历年高频重点模拟试卷提升(共500题附带答案详解)
- 一模总结冲刺中考主题班会
- GB/T 45227-2025化工园区封闭管理系统技术要求
- 《田径理论知识》课件
- 《俄罗斯债务危机》课件
- 专题05-必修三-必过知识点清单(解析版)(新教材北师大版)
- 2025年广东工业大学招聘行政助理1名历年高频重点提升(共500题)附带答案详解
- 铁路机车车辆制动钳工(高级)职业鉴定考试题库(含答案)
评论
0/150
提交评论