网络五子棋的设计与实现.docx
- 文档编号:2307526
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:31
- 大小:1.07MB
网络五子棋的设计与实现.docx
《网络五子棋的设计与实现.docx》由会员分享,可在线阅读,更多相关《网络五子棋的设计与实现.docx(31页珍藏版)》请在冰豆网上搜索。
网络五子棋的设计与实现
摘要
五子棋起源于中国,是我国古代黑白棋种之一,据考究,五子棋的出现时间早于围棋,是一种上手简单但却内藏玄机的游戏。
五子棋不但能够锻炼人的思维能力,和逻辑能力,而且我们通过下棋能领悟人生哲理。
五子棋文化渊源流长,博大精深,经过几千年的传播,结合中西方文化,不仅活跃在国际比赛,更是各个年龄段都喜欢的大众游戏。
随着互联网的发展,方便,快捷已经成为了时代的主题,传统五子棋方式已经不能满足广大用户的需求,网络五子棋应运而生。
本设计的实现采用B-S结构,以Spring-SpringMVC-MyBatis框架为主体,结合Websocket技术,实现了人机对战,网络双人对战两种游戏模式,人机对战侧重于AI算法,而双人对战侧重于网络通信。
关键词:
五子棋;SSM;Websocket
Abstract
GoBangoriginatedinChinaandisoneoftheancientblackandwhitechessspeciesinChina.Accordingtothestudy,theappearanceofGoBangisearlierthanGo,whichisasimplebuthiddengame.
GoBangcannotonlytrainpeople'sthinkingability,butalsologicalability,andwecanunderstandlifephilosophybyplayingchess.ThecultureofGoBanghasalonghistoryandisprofoundandprofound.Afterthousandsofyearsofcommunication,combinedwithChineseandWesternculture,itisnotonlyactiveininternationalcompetitions,butalsopopulargamesofallages.
WiththedevelopmentoftheInternet,convenienceandspeedhavebecomethethemeofthetimes.ThetraditionalGoBangmethodcannolongermeettheneedsofthemajorityofusers,andthenetworkGoBangcameintobeing.TheimplementationofthisdesignadoptstheB-Sstructure,withtheSpring-SpringMVC-MyBatisframeworkasthemainbody,combinedwithWebsockettechnology,realizesthehuman-machinebattle,thenetworkdouble-playgamemode,theman-machinebattlefocusesontheAIalgorithm,andthedouble-playerfocusesonnetworkcommunication.
Keywords:
GoBang;SSM;Websocket
第一章绪论
五子棋起源于古代中国,《汉书》记载名为连珠、连五子,魏晋南北朝时期传入日本,经日本改进后传入欧美,在欧美风靡一时。
五子棋经过时间和异域文化的洗礼才变成今天我们熟知的五子棋。
五子棋不仅仅是作为一种娱乐大众的游戏出现我们生活中,五子棋吸收了古代数学,哲学的精华,五子棋的黑白代表着阴阳,自古便有阴阳和谐,五子棋的玩法很大程度上体现了这一思想。
五子棋现在已经作为一种竞技类游戏活跃在世界赛场,由此可见其价值之高。
随着互联网时代的到来,游戏行业迎来了春天,各种类型的游戏层出不穷,客户端-服务器模式的游戏依然是时代的主流,但是仅限于那些画面精美,制作精良的大型动作游戏,现在许多休闲游戏不再需要下载客户端了,只需要打开浏览器,输入网址,登陆即可开始游戏,这就是浏览器-服务器模式的便捷之处,此次开发的目的就是实现基于浏览器-服务器模式下的网络五子棋。
在完成课题的同时,也能够接触现在主流的WEB开发模式和开发工具,熟悉开发流程和开发技术,也是对自己也是一种锻炼。
第二章开发工具、环境及技术支持
2.1涉及到的关键技术
2.1.1jsp
JSP全称JavaServerPages,JSP的全名叫做JavaServerPages,JSP属于一种动态网页脚本语言,可以跨多个平台进行实现系统功能,因此具备较好的兼容性,和ASP语言相比,JSP虽然也是基于HTML文件进行运行,但是可以更好地实现与系统用户之间的互动,让用户获得更好的体验。
JSP语言的技术基础实际上为JavaServlet,JavaServlet可以结合JSP共同实现大型软件项目的开发。
JSP脚本语言的优势非常鲜明,首先JSP适用于多种编程语言,尤其非常适合搭配JAVA语言一起使用,结尾的标签内容为<%开头以%>,可以最大程度地体现出JAVA语言的优势和特点,并且JSP语言本身也具备JAVA语言的一些特征。
JSP语言还可以实现对Javaweb的UI部分,结合HTML文件、XML文件以及XHTML文件,采用嵌入式开发来进行前端设计。
JSP语言还具备强大的兼容能力,只需要编辑一次,就可以在多个平台间反复利用,极大地缩短了开发人员的开发时间,并且可以在多个编译环境中进行开发,方便开发人员对系统进行部署,有利于对系统环境进行扩充。
JSP脚本语言还具有较为可靠的稳定性和安全性,自带很多功能强大的工具,可以保证开发人员开发过程的顺畅和便利,并且系统具有较高的安全性,再加上JSP技术是可以免费下载的,这也让JSP技术的应用范围不断扩大。
此外,JSP语言可以实现对数据库、用户操作和选择的相关信息以及JavaBeans组件来进行访问,并且实现多个网页间的信息传递和信息共享。
2.1.2SSM框架
Spring
Spring是软件开发领域中一种常见的设计框架,其源代码是对外开放的,并且属于面向接口编程思维,主要用于处理和解决业务逻辑层和其他层次的问题。
早在2003年,Spring就开始在开发领域被人们所熟知,一开始的主要应用在Java语言的应用程序的开发上,创始人为RodJohnson,因此,Spring框架不仅是JavaSE/EE分层,还是一种轻量级的全栈式框架。
Spring设计框架的核心为是IOC和AOP,其中IOC的全称为InversionofControl,表示控制反转,AOP的全称为AspectOrientedProgramming,表示面向切面的编程方式。
控制反转,指的是对这些相互依赖对象的创建和协调工作都交由Spring容器来实现,当某个对象需要其他协作对象时,由Spring动态的通过依赖注入(DI,DependencyInjection)的方式来提供协作对象,其只需要关注业务本身的逻辑即可。
Spring从2004年的第一版发展到现在,已经成为了一个生态帝国,经过不断的改进发展,现如今的SpringMVC、SpringBoot、SpringCloud等解决方案共同构成了Spring框架。
有人亲切的称之为:
Spring全家桶。
在本项目中我们后台选择了Spring,SpringMVC,MyBatis这一套框架,搭配Maven,开发效率成倍提高。
SpringMVC
SpringMVC框架主要基于web层的,其框架类型属于MVC模式,适合对Servlet进行配合,从而快速处理web层的响应和请求,还能快速获取表单内容,并且对表单进行校验。
SpringMVC的工作原理图如图1.1
图1.1
SpringMVC框架根据配置来分,可以分为两个启动流程:
1、对ontextLoaderListener进行初始化,完成对IoC容器的实例化后,将实例化的内容注册在ServletContext中。
2、对DispatcherServlet进行始化,通过建立上下文,将上下文注册在ServletContext中。
由于本项目重点为算法和通信,故不再深究。
MyBatis
MyBatis一开始只是一个开源项目,由Apache软件基金会推出,直到2010年,apachesoftwarefoundation将MyBatis项目添加进入到googlecode中,正式更名为MyBatis,MyBatis因此而来。
2013,再次将MyBatis添加进入到Github。
iBATIS源于“internet”和“abatis”这两个意思,主要是基于Java语言的应用在持久层上的一种设计框架,因此,iBATIS开源提供多种持久层的框架,主要包括DAOs(DataAccessObjects)、SQLMaps等。
很多开发人员习惯采用MyBatis中的ORM机制,因此MyBatis可以面对纯粹的Java对象,还可以根据Hibernate来实现ORM,Hibernate还可以基于数据操作生成相应的SQL语句,但是MyBatis在对数据库进行处理时,其优势在于对SQL工作量、数据库具有较好的可移植性,从而保证系统在设计的过程中可以具备更高的灵活性。
因此,MyBatis可以对ORM的功能进行有效补充和完善,具有非常重要的现实意义。
本课题的设计属于Maven项目,只需在pom.xml中引入依赖即可。
pom.xml中的配置如下
--mybaits-spring集成包-->
2.1.3WebSocket
WebSocket主要基于一个独立的TCP连接,从而完成通信协议,协议的类型属于全双工模式。
在2011年,WebSocket就被IET列入为标准RFC6455,并且让RFC936不断对其内容进行补充,因此,W3C将WebSocketAPI列为标准。
WebSocket可以简化服务器和客户端之间的数据交换和交互功能,让服务器主动给客户端发送数据内容,因此,WebSocketAPI的浏览器和服务器在完成首次握手后,就可以持续连接和通信,双向进行数据交互。
选用Websocket技术作为服务器和客户端交互手段的原因:
HTML页面早期是静态的,不能进行交互,后来出现了JavaScript,在一定程度上解决了交互问题,但是JS在刚出现的时候并不能和服务器进行交互,直到Ajax的出现。
Ajax解决了页面和服务端进行交互的问题,但是Ajax所有的请求都必须由客户端发起,服务器端响应,如果服务器端有最新消息难以及时发送到客户端,在WebSocket出现之前,客户端和服务器的信息交互方法主要有以下三种方式:
1.轮询:
客户端定期持续向服务器发送请求内容,从而判断服务器是否存在新数据,如果有新数据,需要传送到客户端进行显示。
服务端如果没有就返回
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 五子棋 设计 实现