毕业设计论文基于cs模式的五子棋网络对战游戏

上传人:好** 文档编号:115398316 上传时间:2019-11-13 格式:DOC 页数:83 大小:2.86MB
返回 下载 相关 举报
毕业设计论文基于cs模式的五子棋网络对战游戏_第1页
第1页 / 共83页
毕业设计论文基于cs模式的五子棋网络对战游戏_第2页
第2页 / 共83页
毕业设计论文基于cs模式的五子棋网络对战游戏_第3页
第3页 / 共83页
毕业设计论文基于cs模式的五子棋网络对战游戏_第4页
第4页 / 共83页
毕业设计论文基于cs模式的五子棋网络对战游戏_第5页
第5页 / 共83页
点击查看更多>>
资源描述

《毕业设计论文基于cs模式的五子棋网络对战游戏》由会员分享,可在线阅读,更多相关《毕业设计论文基于cs模式的五子棋网络对战游戏(83页珍藏版)》请在金锄头文库上搜索。

1、第一章 系统概述1.1 课题意义本程序旨在用JAVA实现一个基本于C/S模式的五子棋网络对战游戏。玩家作为客户端通过服务器端与其它玩家进行对战,聊天等功能。通过实现本程序加深对计算机网络编程的了解。1.2 国内外有关研究动态电脑游戏行业经过二十年的发展,已经成为与影视、音乐等并驾齐驱的全球最重要的娱乐产业之一,其年销售额超过好莱坞的全年收入。互联网的出现为电脑游戏行业发展注入了新的活力,凭借信息双向交流、速度快、不受空间限制等优势,让真人参与游戏,提高了游戏的互动性、仿真性和竞技性,使玩家在虚拟世界里可以发挥现实世界无法展现的潜能,改变了单机版游戏固定、呆板、与机器对话的状况。网络游戏的这些优

2、势不仅使其在电脑游戏行业中异军突起并在某种程度上取代了单机版游戏,而且成为网络业三大(网上金融、网上教育和网络游戏)赢利且利润优厚的领域之一1。网络作为一种新兴的传播方式,主要包括三大内容:娱乐、资讯、通讯。提到网络娱乐,过去主要指的是单机版游戏,没有引入网络的概念2但随着科技的发展,游戏娱乐产业也在成长3目前,国内的游戏娱乐产业正处于起步阶段,特点表现为:第一,它是一种文化的传播。娱乐产业可以潜移默化地改变人的观念,当前,很多多媒体的播放已被电脑网络所取代4。第二,网络游戏加强了人与人的沟通。第三,网络游戏具有一定的教育意义5。网络游戏所具有的角色扮演的功能,使得玩家能通过互助更好地完成游戏

3、中的各项任务。网络无国界,游戏在网络文化产业世界的发展中地位会越来越高6。目前在国外,休闲游戏如棋类等,玩家的年龄跨度非常大,这和我国目前网游市场以青少年为主要消费人群的状况截然不同7。其实,网络可以解决空间的问题,网络和生活越来越息息相关,因此,开辟适合各个年龄层的游戏产品迫在眉睫。同时,这也涉及到一个企业开发的能力。娱乐产业发展到一定程度,通过不断锻炼和经验的积累,完全可以通过融入娱乐的成分把教条的东西深入浅出地展现给消费者8 。就国内的发展来看,最近這两三年内国内的游戏公司如雨后春笋般的成立,所開發或代理的网络游戏更是不胜枚举。以全球游戏业界的发展来看,這几年韩国的表现最为突出,特別是在

4、网络游戏的技术研发兴游戏制作,其所发行的网络游戏更成为全球游戏产业重要的指标之一。去年在美国洛杉矶所举行的 E3(Electronic Entertainment Exposition)展中,已经有几家的韩国厂商挤入世界第一线的游戏开发厂商之列9。 近几年来,由于 3D 硬体绘图技术的突破,使得即时描绘的书面越来越精致,而且3D遊戏性更多元化更逼近真实世界,因此在遊戏产业中,3D 游戏已经逐渐取代2D游戏为游戏市场的主流,即使是网络游戏,也慢慢趋向3D化。然而游戏3D化将会带来的游戏开发上的困难等问题,这些问题以后都需要逐步解决10。 1.3 课题主要内容及创新之处五子棋是一种受大众广泛喜爱的

5、游戏,其规则简单,变化多端,非常富有趣味性和消遣性。本程序是用JAVA实现的一个基本于C/S模式的五子棋网络对战游戏。JAVA是一种简单的,面向对象的,分布式的,解释的,健壮的,安全的,结构中立的,可移植的,性能很优异的多线程的,动态的语言。因此用Java开发的网络应用系统可以在各种平台上运行,实现了设备无关性,一次开发处处运行,大大增加了开发效率,减少了重复劳动。玩家作为客户端通过服务器端与其它玩家进行对战,聊天等功能11。本程序作为一种网络游戏,其乐趣是人与人之间的对抗,而不仅仅是人与事先设置的各种程序的对抗,所以比普通的人机对战游戏更具有生命力,更具有趣味性12。而且通过实现本程序可以加

6、深对计算机网络编程的了解。第二章 五子棋简介2.1 五子棋起源、历史、简介五子棋起源于中国古代的传统黑白棋13。现代五子棋日文称之为連珠,英译为Renju,英文称之为Gobang或FIR(Five in a Row的缩写),亦有连五子、五子连、串珠、五目、五目碰、五格等多种称谓。五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。五子棋既有现代休闲的明显特征短、平、快,又有古典哲学的高深学问阴阳易理;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有场的概念,亦有点的连接。它是中西文化的交流点,是古

7、今哲理的结晶。 2.2 五子棋规则说明2.2.1 棋盘棋盘正中一点为天元。棋盘两端的横线称端线。棋盘左右最外边的两条纵线称边线。从两条端线和两条边线向正中发展而纵横交叉在第四条线形成的四个点称为星。天元和星应在棋盘上用直径约为0.5厘米的实心小圆点标出。 以持黑方为准,棋盘上的纵轴线从左到右用英文字母AO标记。横行线从近到远用阿拉伯数字115标记。纵横轴上的横纵线交叉点分别用横纵线标记的名称合写成。如天元H8,四个星分别为D4、D12、L12、L4等。见图2.1图 2.1 棋盘2.2.2 基本规则黑白双方依次落子,任一方先在棋盘上形成横向、竖向、斜向的连续的相同颜色的五个(含五个以上)棋子的一

8、方为胜。2.2.3 阳线和阴线阳线:棋盘上可见的横纵直线。阴线:棋盘上无实线连接的隐形斜线。2.2.4 连在棋盘某一阳线或阴线上形成5个以上的同色棋子不间隔地相连。五连:在棋盘上形成的5个同色棋子的连。 长连:在棋盘上形成的6个或6个以上同色棋子的连。2.2.5 四包括活四和冲四图 2.2 活四说明活四:在棋盘某一条阳线或阴线上有同色4子不间隔地紧紧相连,且在此4子两端延长线上各有一个无子的交叉点与此4子紧密相连。见图2.2冲四:除活四外的,再下一着棋便可形成五连,并且存在五连的可能性的局面。见图2.3图 2.3 冲四说明白棋再下一着可形成长连的局面也视为四。见图2.4图 2.4 白棋长连形成

9、的四2.2.6 三指活三,包括连三和跳三活三:在棋盘某一条阳线或阴线上有同色3子不间隔地紧紧相连,且在此3子两端延长线上各有一个无子的交叉点与此3子紧密相连。连三:在棋盘某一条阳线或阴线上有同色三子相连,且在此三子两端延长线上有一端至少有一个,另一端至少有两个无子的交叉点与此三子紧密相连。跳三:中间仅间隔一个无子交叉点的连三,但两端延长线均至少有一个无子的交叉点与此三子相连。2.2.7 三手可交换是指黑棋下盘面第3着棋后,白方在应白4着棋之前,如感觉黑方棋形不利于己方,可提出交换,即执白棋一方变为执黑棋一方,而黑方不可以不换。2.2.8 五手两打是指黑棋在下盘面上关键的第5手棋时,必须下两步棋

10、,让白棋在这两步棋中任选一步,然后再继续对弈。一般说来,白棋肯定拿掉对白方不利的一点,而保留对黑方较为不利的那点让黑方行棋。2.2.9 禁手规则无禁手: 是指采用最简单古老的规则。黑白双方依次落子,任一方先在棋盘上形成横向、竖向、斜向的连续的相同颜色的五个(含五个以上)棋子的一方为胜。这种规则非常简单容易理解。适合初学的业余五子棋爱好者。但是在这种规则下黑棋胜算较大。甚至已经有人证明在黑白双方都不出现错误的情况下,黑棋可以必胜。所以一般要求连续玩两盘以上,既任一方执黑,执白各一次。有禁手:鉴于无禁手规则黑棋必胜,人们不断采用一些方法限制黑棋先行的优势,以平衡黑白双方的形式。于是针对黑棋的各种禁

11、手逐渐形成。禁手最简单地说就是一手棋形成长连(连成五个以上连续相同的棋子),或两个以上的活三,或者两个以上的四,并且这些四、活三和长连都要包括这一手棋。并且规定,当禁与连五同时出现时为黑方取胜禁手不成立,禁手是针对黑棋而言的,白棋没有任何禁手。例如:黑棋长连是禁手,白棋长连算赢棋。 国际比赛规则规定:对局中如黑方出现禁手,白方应立即指出禁手点,黑方即负。如白方在黑方出现禁手后,又落一步白子,黑棋禁手则不成立了。 所以 在有禁手的房间里,如果黑方出现禁手,白方应立即按下禁手按钮 。程序会判黑方负。如果这时白方又在棋盘上落一子,黑棋禁手则不成立了。第三章 方案设计及开发工具的选取3.1 选用Jav

12、a进行开发的原因Java是一种简单的,面向对象的,分布式的,解释的,健壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言14 。因此用Java开发的网络应用系统可以在各种平台上运行,大大增加了开发效率,减少重复劳动。而且,Java集成的网络功能分有利于开发网络应用系统15 。Java具有许多的优点:3.1.1 简单Java最初是为对家用电器进行集成控制而设计的一种语言,因此它必须简单明了。Java语言的简单性主要体现在以下三个方面:1.Java的风格类似于C+,因而C+程序员是非常熟悉的。从某种意义上讲,Java语言是C及C+语言的一个变种,因此,C+程序员可以很快就掌握Ja

13、va编程技术。2.Java摒弃了C+中容易引发程序错误的地方,如指针和内存管理。3.Java提供了丰富的类库。3.1.2 面向对象面向对象可以说是Java最重要的特性。Java语言的设计完全是面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。Java支持静态和动态风格的代码继承及重用。单从面向对象的特性来看,Java类似于SmallTalk,但其它特性、尤其是适用于分布式计算环境的特性远远超越了SmallTalk。3.1.3 分布式Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库。因此,Java应用程序可凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统几

14、乎完全相同。为分布环境尤其是Internet提供动态内容无疑是一项非常宏伟的任务,但Java的语法特性却使我们很容易地实现这项目标。3.1.4 健壮Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自己操纵内存减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能。这项功能特征大大缩短了开发Java应用程序的周期。Java提供Null指针检测数组边界检测异常出口字节代码校验3.1.5 结构中立另外,为了建立Java作为网络的一个整体,Java将它的程序编译成一种结构中立的中间文件格式。只要有Java运行系统的机器都能执行这种中间代码。现

15、在,Java运行系统有Solaris2.4(SPARC),Win32系统(Windows95和WindowsNT)等.Java源程序被编译成一种高层次的与机器无关的byte-code格式语言,这种语言被设计在虚拟机上运行,由机器相关的运行调试器实现执行。3.1.6 安全Java的安全性可从两个方面得到保证。一方面,在Java语言里,像指针和释放内存等C+功能被删除,避免了非法内存操作。另一方面,当Java用来创建浏览器时,语言功能和一些浏览器本身提供的功能结合起来,使它更安全。Java语言在你的机器上执行前,要经过很多次的测试。它经过代码校验,检查代码段的格式,检测指针操作,对象操作是否过分以及试图改变一个对象的类型。3.1.7 可移植的同体系结构无关的特性使得Java应用程序可以在配备了Java解释器和运行环境的任何计算机系统上运行,这成为Java应用软件便于移植的良好基础。但仅仅如此还不够。如果基本数据类型设计依赖于具体实现,也将为程序的移植带来很大不便。例如在Windows3.1中整数(Integer)为16bits,在Windows95中整数为32b

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号