温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
网络五子棋的设计与实现
计算机专业
网络
五子棋
设计
实现
中国地质大学(武汉)计算机科学与技术学院学院毕业设计(论文)
题目:网络五子棋的设计与实现
摘 要
五子棋起源于中国,是我国古代黑白棋种之一,据考究,五子棋的出现时间早于围棋,是一种上手简单但却内藏玄机的游戏。
五子棋不但能够锻炼人的思维能力,和逻辑能力,而且我们通过下棋能领悟人生哲理。五子棋文化渊源流长,博大精深,经过几千年的传播,结合中西方文化,不仅活跃在国际比赛,更是各个年龄段都喜欢的大众游戏。
随着互联网的发展,方便,快捷已经成为了时代的主题,传统五子棋方式已经不能满足广大用户的需求,网络五子棋应运而生。本设计的实现采用B-S结构,以Spring-SpringMVC-MyBatis框架为主体,结合Websocket技术,实现了人机对战,网络双人对战两种游戏模式,人机对战侧重于AI算法,而双人对战侧重于网络通信。
关键词:五子棋;SSM;Websocket
Abstract
GoBang originated in China and is one of the ancient black and white chess species in China. According to the study, the appearance of GoBang is earlier than Go, which is a simple but hidden game.
GoBang can not only train people's thinking ability, but also logical ability, and we can understand life philosophy by playing chess. The culture of GoBang has a long history and is profound and profound. After thousands of years of communication, combined with Chinese and Western culture, it is not only active in international competitions, but also popular games of all ages.
With the development of the Internet, convenience and speed have become the theme of the times. The traditional GoBang method can no longer meet the needs of the majority of users, and the network GoBang came into being. The implementation of this design adopts the B-S structure, with the Spring-SpringMVC-MyBatis framework as the main body, combined with Websocket technology, realizes the human-machine battle, the network double-play game mode, the man-machine battle focuses on the AI algorithm, and the double-player focuses on network communication.
Keywords: GoBang; SSM; Websocket
目录
第一章 绪论 1
第二章 开发工具、环境及技术支持 2
2.1 涉及到的关键技术 2
2.1.1 jsp 2
2.1.3 WebSocket 4
2.1.4 javascript 5
2.1.5 Maven 6
2.2 开发环境和开发工具 6
第三章 五子棋概要设计 7
3.1 需求分析 7
3.2 模块化 7
3.3 功能设计概述 9
第四章 详细设计和实现过程 12
4.1 登录注册具体实现过程 12
4.1.1 注册功能 12
4.1.2 登录功能 13
4.2 人机对战具体实现过程 15
4.2.1 人机对战棋盘画法 15
4.2.2 人机对战输赢的判定 17
4.2.3 人机AI算法 20
4.3 双人网络对战五子棋的实现过程 21
4.2.1 双人在线对战棋盘画法 21
4.2.2 双人在线对战输赢判定 23
4.2.3 将下棋过程存入数据库中 25
4.2.4 悔棋功能的实现 26
4.2.5 WebSocket通信功能: 26
4.4 数据库设计 27
第五章 程序测试 29
5.1 登陆、注册模块测试 29
5.2 人机模块测试 31
5.3 网络双人对战模式 31
5.4 用户注册信息和棋盘日志表查看 32
第六章 结论 33
致谢 34
参考文献 35
第一章 绪论
五子棋起源于古代中国,《汉书》记载名为连珠、连五子,魏晋南北朝时期传入日本,经日本改进后传入欧美,在欧美风靡一时。五子棋经过时间和异域文化的洗礼才变成今天我们熟知的五子棋。
五子棋不仅仅是作为一种娱乐大众的游戏出现我们生活中,五子棋吸收了古代数学,哲学的精华,五子棋的黑白代表着阴阳,自古便有阴阳和谐,五子棋的玩法很大程度上体现了这一思想。五子棋现在已经作为一种竞技类游戏活跃在世界赛场,由此可见其价值之高。
随着互联网时代的到来,游戏行业迎来了春天,各种类型的游戏层出不穷,客户端-服务器模式的游戏依然是时代的主流,但是仅限于那些画面精美,制作精良的大型动作游戏,现在许多休闲游戏不再需要下载客户端了,只需要打开浏览器,输入网址,登陆即可开始游戏,这就是浏览器-服务器模式的便捷之处,此次开发的目的就是实现基于浏览器-服务器模式下的网络五子棋。在完成课题的同时,也能够接触现在主流的WEB开发模式和开发工具,熟悉开发流程和开发技术,也是对自己也是一种锻炼。
第二章 开发工具、环境及技术支持
2.1 涉及到的关键技术
2.1.1 jsp
JSP全称Java Server Pages,JSP的全名叫做Java Server Pages,JSP属于一种动态网页脚本语言,可以跨多个平台进行实现系统功能,因此具备较好的兼容性,和ASP语言相比,JSP虽然也是基于HTML文件进行运行,但是可以更好地实现与系统用户之间的互动,让用户获得更好的体验。JSP语言的技术基础实际上为Java Servlet,Java Servlet可以结合JSP共同实现大型软件项目的开发。
JSP脚本语言的优势非常鲜明,首先JSP适用于多种编程语言,尤其非常适合搭配JAVA语言一起使用,结尾的标签内容为<%开头以%>,可以最大程度地体现出JAVA语言的优势和特点,并且JSP语言本身也具备JAVA语言的一些特征。JSP语言还可以实现对Java web的UI部分,结合HTML文件、XML文件以及XHTML文件,采用嵌入式开发来进行前端设计。
JSP语言还具备强大的兼容能力,只需要编辑一次,就可以在多个平台间反复利用,极大地缩短了开发人员的开发时间,并且可以在多个编译环境中进行开发,方便开发人员对系统进行部署,有利于对系统环境进行扩充。JSP脚本语言还具有较为可靠的稳定性和安全性,自带很多功能强大的工具,可以保证开发人员开发过程的顺畅和便利,并且系统具有较高的安全性,再加上JSP技术是可以免费下载的,这也让JSP技术的应用范围不断扩大。此外,JSP语言可以实现对数据库、用户操作和选择的相关信息以及JavaBeans组件来进行访问,并且实现多个网页间的信息传递和信息共享。
2.1.2 SSM框架
Spring
Spring是软件开发领域中一种常见的设计框架,其源代码是对外开放的,并且属于面向接口编程思维,主要用于处理和解决业务逻辑层和其他层次的问题。早在2003年,Spring就开始在开发领域被人们所熟知,一开始的主要应用在Java 语言的应用程序的开发上,创始人为Rod Johnson,因此,Spring框架不仅是JavaSE/EE分层,还是一种轻量级的全栈式框架[] 明日科技. JavaWeb项目开发实战入门. 吉林大学出版社,2017.1
。
Spring设计框架的核心为是IOC和AOP,其中IOC的全称为Inversion of Control,表示控制反转,AOP的全称为Aspect Oriented Programming,表示面向切面的编程方式。控制反转,指的是对这些相互依赖对象的创建和协调工作都交由Spring容器来实现,当某个对象需要其他协作对象时,由Spring动态的通过依赖注入(DI, Dependency Injection)的方式来提供协作对象,其只需要关注业务本身的逻辑即可。
Spring从2004年的第一版发展到现在,已经成为了一个生态帝国,经过不断的改进发展,现如今的SpringMVC、SpringBoot、Spring Cloud等解决方案共同构成了Spring框架。有人亲切的称之为:Spring 全家桶。在本项目中我们后台选择了Spring,SpringMVC,MyBatis这一套框架,搭配Maven,开发效率成倍提高。
SpringMVC
SpringMVC框架主要基于web层的,其框架类型属于MVC模式,适合对Servlet进行配合,从而快速处理web层的响应和请求,还能快速获取表单内容,并且对表单进行校验[] 杨静.基于JAVA WEB中MVC模式的研究和应用[J]. 电脑知识与技术,2014,9(28)68-71
。
SpringMVC的工作原理图如图1.1
图1.1
SpringMVC框架根据配置来分,可以分为两个启动流程:
1、对ontextLoaderListener进行初始化,完成对IoC容器的实例化后,将实例化的内容注册在ServletContext中。
2、对DispatcherServlet进行始化,通过建立上下文,将上下文注册在ServletContext中。
由于本项目重点为算法和通信,故不再深究。
MyBatis
MyBatis 一开始只是一个开源项目,由Apache软件基金会推出,直到2010年,apache software foundation 将MyBatis 项目添加进入到google code中,正式更名为MyBatis,MyBatis因此而来。2013,再次将MyBatis添加进入到Github。iBATIS源于“internet”和“abatis”这两个意思,主要是基于Java语言的应用在持久层上的一种设计框架,因此,iBATIS开源提供多种持久层的框架,主要包括DAOs(Data Access Objects)、SQL Maps等[] 王循. JavaWeb快速开发框架中部分关键技术初步研究[D] . 吉林大学,2015
。
很多开发人员习惯采用MyBatis中的ORM机制,因此MyBatis可以面对纯粹的Java对象,还可以根据Hibernate 来实现ORM,Hibernate 还可以基于数据操作生成相应的SQL语句,但是MyBatis 在对数据库进行处理时,其优势在于对SQL工作量、数据库具有较好的可移植性,从而保证系统在设计的过程中可以具备更高的灵活性。因此,MyBatis 可以对ORM 的功能进行有效补充和完善,具有非常重要的现实意义。
本课题的设计属于Maven项目,只需在pom.xml中引入依赖即可。
pom.xml中的配置如下
<depe