当前位置:文档之家› JAVA五子棋论文

JAVA五子棋论文

JAVA五子棋论文
JAVA五子棋论文

南开大学滨海学院

计算机科学系

课程设计

课程名称 JAVA局域网五子棋对战专业:数字媒体

学号: 10990001

姓名:陈成

指导教师:刘嘉欣

完成日期: 2012年6月18日

目录

封面

第一章绪论............................................... 摘要

摘要的英文翻译

1.1背景介绍 ...................................................

1.2研究价值 ................................................... 第二章开发工具与语言简介................................

2.1 Java简介 .................................................

2.2 Eclipse开发环境简介

3.2.1 Eclipse 插件开发环境 .......... 错误!未定义书签。

3.2.2Eclipse的主要组成.............. 错误!未定义书签。

3.2.3Eclipse SDK ............................................................... 错误!未定义书签。Java的优缺点

第三章系统设计........................................... 系统框图....................................................... 流程图

文字分析.......................................................

第四章

1.0具体实现............................................

2.0截图显示 ...................................................

3.0各个实现过程的截图..........................................

4.2 I/O操作 ................................. 错误!未定义书签。

4.2.1流定义................ 错误!未定义书签。

4.2.2流的分类:..............................

4.3多线程 ................................................................................

4.3.1 线程...................................

4.4Java网络编程 ..............................................................

第五章参考文献.......................................... 第六章总结与展望........................................ 设计体会

致谢.....................................................

摘要

最流行的脚本语言。Java的跨平台性使它应用于无线手持设备、通讯终端、信息家电等多种热门领域。Java在多种行业的备受推崇使Java悄然融入日常生活的每一角落。为了熟悉五子棋的规则以及技巧,与同学之间进行相互的博弈,决定用JAVA制作一个能实现局域网对战功能的五子棋对战程序。网络连接部分使用Socket编程应用,和服务器的交换使用classmessage定义,稳定性较高。使用JAVA语言开发的五子棋游戏程序,将五子棋游戏移植到网络中更符合现代人娱乐理念,满足用户异地自由选择游戏对手、实现单机和双人对战的游戏模式,也可以在游戏当中进行聊天,私聊、群聊等功能,便于用户实时进行信息交流。同时,注意从游戏的图形界面上优化,使得JAVA五子棋游戏软件具有很强的可操作性。

关键字:JAVA游戏,局域网对战,聊天,五子棋,算法

Abstracts

Backgammon is a two games on pure strategy board games originated in

ancient China's traditional Othello. Development in Japan, popular in Europe and the United States. Easy to use, all ages, amusing, fascinating; not only enhance the thinking ability, intelligence, and rich in philosophy, and to help self-cultivation. Today, JAVA its unique portability, cross-platform, the program, small size and other characteristics become the most popular scripting language on the network today. Java's cross-platform so that it applied to wireless handheld devices, communication terminals, information appliances, and other hot areas. Java in a variety of industries highly respected Java quietly into every corner of daily life. Familiar with the rules and skills of backgammon, and students to each other's game, decided to create a LAN Battle 331 Battle program with JAVA. Network connections Socket programming applications, and server exchange classmessage defined, higher stability. 331 games using JAVA language development program, the backgammon game ported to the network more in line with the concept of modern entertainment, and meet the users off-site free to choose a game opponent, stand-alone and double play against the game mode, you can also chat in the game, whisper group chat features such as user-friendly real-time exchange of information. Also, note that from the game's graphical interface optimized JAVA 331 games software has a strong operability.

Key words:JAVA games, LAN gaming, chat, backgammon, algorithm

第一章:绪论

随着科技突飞猛进的发展,电脑已经进入了家家户户,而现在越来越多的热门词汇也与电脑有了关系,与电脑有关的知识也越来越受学生的喜爱,很多学生在高考填写志愿时会选择与计算机有关的学科,如数字媒体技术,影视动画,网络编程等。同时,许多公司里的有关计算机软件开发的项目有越来越高的薪酬,计算机人才也是供不应求。当然,软件的日益更新和增加也不再满足人们的需求。于是,很多人便自己动手开发自己所需要的软件,只有自己才最清楚自己是需要什么样的软件。Java语言作为一种面向对象的编程语言,具有分布式,可移植,高性能,多线程等特点。而且与c++相比,它通俗易懂而且操作性更强,并且除去了指针等方面的要求。通过一定的学习,人们可以使用Java开发工具开发出功能齐全,满足特殊需求的应用程序,对于学习者掌握一定的技能和开拓思维都有很大的帮助。

五子棋游戏是一款较为常见的小游戏,通过双方下棋来实现胜负。我们小组

制作的五子棋游戏是通过两种模式,单机和联网,让玩家自己来决定所需的游戏模式,然后进行游戏。并且其中可以自行选择黑棋或者白棋,并有悔棋和存盘等附加功能。在实现过程中学到了许多的专业知识,同时也巩固了在课堂上学的一系列知识。

我作为一名学生,在系统的学习了JA V A语言之后,经常尝试着去写一些小程序。这次的课程设计正好将我学习过的JA V A语言中的各种技术综合起来。开发编写一个小游戏,这不仅是对自己学习的技能的一次检验,也能系统的将学过的知识复习巩固。

通过研究这一款益智游戏,可以自己动手实现想要的游戏效果。而且在开发研究过程中,我们可以复习所学过的许多Java语言知识,对所学的知识进行系统性复习,并在研究中得出了自己的心得体验。更可以在开发过程中得到许多的乐趣,使知识有一定的提高。

背景

五子棋相传起源于四千多年前的尧帝时期,比围棋的历史还要悠久,可能早在“尧造围棋”之前,民间就已有五子棋游戏。有关早期五子棋的文史资料与围棋有相似之处,因为古代五子棋的棋具与围棋是完全相同的。在上古的神话传说中有“女娲造人,伏羲做棋”一说,《增山海经》中记载:“休舆之山有石焉,名曰帝台之棋,五色而文状鹑卵。”李善注引三国魏邯郸淳《艺经》中曰:“棋局,纵横各十七道,合二百八十九道,白黑棋子,各一百五十枚”。这段虽没明讲是何种棋类,但至少知道远古就以漂亮的石头为棋子。因而规则简单的五子棋也可能出自当时,并是用石子作棋子。亦有传说,五子棋最初流行于少数民族地区,以后渐渐演变成围棋并在炎黄子孙后代中遍及开来。

在古代,五子棋棋具虽然与围棋相类同,但是下法却是完全不同的。正如《辞海》中所言,五子棋是“棋类游戏,棋具与围棋相同,两人对局,轮流下子,先将五子连成一行者为胜”。

在五子棋的实现价值方面相比之下是无法和围棋相比的,但刚好是这点,造就了五子棋在社会可推广的路。学棋不是为了出成绩,因为冠军永远只有一个。棋是培养习惯的一个载体。他的作用是为社会培养更多懂得思考他人的社会人才。由于五子棋比围棋简单易学,更符合目前社会的发展。所以他不需要是难度很大的规则。当然对不同层次的选手使用不同的规则也是可行的,关键看其产生的社会价值。在目前国内连基础培训都很少的时候,我想规则根本不需要考虑而对于曲子其本身来说,它的价值也是非凡的。有人说过,现阶段五子棋的价值主要体现在它的休闲性、趣味性,而并非复杂性、竞技性,五子棋现阶段还不被人熟知,更谈不上职业化,但只要好好抓住了现阶段五子棋的价值进行发展,相信在不久五子棋就会逐步被广大群众所了解和认识,认识到它更深的价值,那时五子棋就不仅仅是简单的小游戏,职业化也并非天方夜谭了。相信这一天终会

到来,因为五子棋本身的价值,因为古人的智慧,也因为你我的努力。

因此,JAVA制作一个五子棋的程序比较有意义,贴近我们的生活,而且是我们比较感兴趣的项目,由此展开这个程序的制作。

第二章开发工具与语言简介

2.1Java简介

Java 编程语言的风格十分接近C、C++语言。Java是一个纯的面向对象的程序设计语言,它继承了C++ 语言面向对象技术的核心,Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在Java SE 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了Java 程序的运行效率。但在J2SE 1.4.2 发布后,Java 的执行速度有了大幅提升。与传统程序不同,Sun 公司在推出Java 之际就将其作为一种开放的技术。全球数以万计的Java 开发公司被要求所设计的Java 软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是Sun 公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。Sun 公司对Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。Java 平台是基于Java 语言的平台。这样的平台目前非常流行,因此微软公司推出了与之竞争的.NET平台以及模仿Java 的C#语言。

Java技术的重要性就不讲了,从最近流行的一个统计数据上来说,目前世界上编程语言Java 、C 、VB、C++依次排名前4位,这排名本身不说明什么,但至少也是工业界对编程语言使用上一个侧面的反映。

Java编程语言与众不同之处在于:Java程序既是编译型的(转换为一种称为Java字节码的中间语言),又是解释型的(JVM 对字节码进行解析和运行)。编译只进行一次,而解释在每次运行程序时都会进行。编译后的字节码采用一种针对JVM 优化过的机器码形式;解释器是JVM 的实现。

Java具有众多优点,比如平台无关性,安全性,面向对象,健壮式,分布式等。与c++相比,Java去掉了其中的指针运算、结构、typedefs、#define、需要释放内存等功能,减少了平常出错的50%,让Java的语言功能很精炼。而且,因为Java很小,所以整个解释器只需215K的RAM,并增加了一些很有用的功能。

Eclipse开发环境简介

Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java 开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——Eclipse Platform、JDT、CDT 和PDE。JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。

虽然大多数用户很乐于将Eclipse 当作Java IDE 来使用,但Eclipse 的目标不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

Eclipse SDK(软件开发者包)是Eclipse Platform、JDT和PDE所生产的组件合并,它们可以一次下载。这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到Eclipse Platform 中的工具。Eclipse SDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。Eclipse项目生产的软件以 GPL发布,第三方组件有各自自身的许可协议。 Eclipse的基础是富客户机平台(Rich Client Platform, 即RCP)。RCP包括下列组件:

?核心平台(启动Eclipse,运行插件)

?OSGi(标准集束框架)

?SWT(可移植构件工具包)

?JFace(文件缓冲,文本处理,文本编辑器)

?Eclipse工作台(即Workbench ,包含视图(views)、编辑器(editors)、视角(perspectives)、和向导(wizards))

Eclipse采用的技术是IBM公司开发的(SWT),这是一种基于Java的窗口组件,类似Java本身提供的AWT和Swing窗口组件;不过IBM声称SWT比其他Java

窗口组件更有效率。Eclipse的用户界面还使用了GUI中间层JFace,从而简化了基于SWT的应用程序的构建。Eclipse的插件机制是轻型软件组件化架构。在

富客户机平台上,Eclipse使用插件来提供所有的附加功能,例如支持Java以

外的其他语言。已有的分离的插件已经能够支持C/C++(CDT)、Perl、Ruby,

Python、telnet和数据库开发。插件架构能够支持将任意的扩展加入到现有环

境中,例如配置管理,而决不仅仅限于支持各种编程语言。Eclipse的设计思想

是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于

Eclipse核心之上。Eclipse基本内核包括:图形API (SWT/Jface), Java开发

环境插件(JDT ),插件开发环境(PDE)等

JAVA优缺点

Java适宜于互联网的开发应用,其中一个原因是它使用了虚拟机,虚拟机是个用来解释Jav 何机器上运行,比如有运行在Mac或UNIX下的虚拟机软件包。虚拟机并不是Java语言本身,件。Java的虚拟机策略就相当于世界语,这是个人造的国际语言,目的是使得不同语言之间的翻

要称作一个通用的计算机语言,Java是最适合不过的,这意味着它可以在所有的计算机上运a虚拟机软件),可以根据需要提供软部件,并且具有内在的安全机制。

用Java编写的操作系统,称为JavaOS,是个基于语言的操作系统,它看起来似乎没有机会oft Windows和MacOS未来的发展提供了线索。它也许将来会应用到各种仪器设备中,包括电视

基于网络的内容供应商对Java技术很感兴趣,因为它增加了交互性和动画功能,这是吸引观Java有希望可以让人们采用租用软件的方式,诸如字处理器或者电子表格软件,而无需购买软件

Java也使得网络计算机成为现实,无须硬盘的,价值500美元的PC

将可以取代Wintel 结构的计算机。所有这一切都显出Java的重要性,它的支持者把它视作希望,这就是为什么一些人对Java表现出狂热的崇拜的原因。

第三章系统设计

由于JA V A是完全面向对象的。在设计前需要一个完整的结构设计,每一

个模块分别实现不同的功能,清晰的上下级调用关系,明确的彼此分工,合作完

成整个功能的实现。这种结构在编写程序时可以让程序员思路清晰,也能让其他

人在看这个程序时能够和程序员有一样的思路流程。JA V A程序中一个工程可以

下设不同的包。

1.第一个为chassface包,其中有6个类,分别是chatpad,chesspad,

chessthread,controlpad,intpad, userpad.

Chatpad:用户列表Panel。此Panel维护一个服务器的当前用户列表,所有的用户名都将显示在列表中. 设置布局管理器并添加信息,更改用户的数目,暂定为5个.最后添加到Panel中

Chesspad:显示棋盘的Panel。此Panel实现了鼠标监听器。依据五子棋的行棋规则判断某方获胜。具体就是判断横、竖、左斜、右斜方向特定颜色的棋子连接的总数是否超过5个,如果超过5个就为赢。

* 在每个方向的判断又分为对正向、和反向分别统计计数。

绘制棋盘,将棋盘绘制成19*19的格子并将棋盘上应有的五个基准点绘制上去当鼠标按下时响应的动作。记下当前鼠标点击的位置,即当前落子的位置。

* 如果点击在棋盘内,则在特定位置绘制棋子.

Chessthread:一个客户端用户线程. 处理用户落子的点击事件处理,及消息发送.

接收消息,具体就是落子信息,包括落子位置,颜色等.

controlpad:控制Panel。此Panel上的按钮如其名,完成相应的功能。Intpad:用于编写信息的接受以及发送

Userpad:用户列表Panel。此Panel维护一个服务器的当前用户列表,所有的用户名都将显示在列表中。

2.第二个创建的是Client包,只有chessclient一个类

Chessclient: 五子棋客户端框架,实现了动作监听器和键盘监听器

和服务器建立连接并通信的函数。

* @return true 如果连接成功, false 如果连接失败.

键盘监听器,响应“回车按下”事件. 发送消息..

*/.客户端线程对接收到的信息进行处理的函数

3最后一个为server包,用于创建一个服务器

用到的变量:

在Controller类中,需要负责接受下级类传来的数据,并做必要的处理后交付给对应的其他下级类做进一步功能实现。

Controller中具体的变量和变量的功能:

model- 类Chess Model的对象,建立对象后可以调用类中的公有部分;

viewer- 类Chess Panel的对象;

frame- 类Viewer Frame的对象;

net- 类NetWork的对象;

close- boolean型变量,作为何时停止程序的判断依据,初始值为false,值得改变由从model中whowin()得来的函数决定,当得到BALACK或WHITE时,close为true,当得到SPACE时,close为false;

localcolor- int型变量,用来记录当前的颜色,初始值为0,值的改变由从viewer中相应的按钮事件得到的颜色决定;

port- int型变量,记录当前的端口值,初值为9999,值的改变由从viewer 中对话提示框得到的port值决定;

视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和 Applet。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业

务流程的处理交予模型(Model)处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。

模型(Model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。目前流行的EJB模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来说,就可以专注于业务模型的设计。MVC设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。抽象与具体不能隔得太远,也不能太近。MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。我们可以用对象编程来做比喻,MVC定义了一个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些。这点对编程的开发人员非常重要。

业务模型还有一个很重要的模型那就是数据模型。数据模型主要指实体对象的数据保存(持续化)。比如将一张订单保存到数据库,从数据库获取订单。我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。

控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。

模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。模型、视图、控制器三者之间的关系和各自的主要功能。

大体的游戏设计思路

注:服务器的连接

2. 调用ChessPanel中的setColor()方法,将得到的颜色送入棋盘,用来

下子。

getcolor() –将本地的颜色返回,用于在其他类中使用controller中的私有变localcolor;

tChess()- 下子的函数,实现下子和判断输赢以及输赢后的提示。作为模型model中下子模型的调用,用于在其他类中使用下子的方法。该函数起始时做if 判断,当变量close为假时,进入内部做下子的调用。在if条件内再次嵌套if判断,对model中的set()方法的返回值做判断,当为真时,表示落子成功,调用界面的repaint()方法,刷新棋盘,让用户看到落子的结果。并且,每当成功落子,就调用model中的谁赢,判断是否有一方胜利,当有一方获胜时,弹出消息对话框,提示用户是哪一方获胜,并将本地的colse变量赋值为真,当下次进入putChess函数时不能继续下子。而且,putChess中还实现了让界面暂时停止的功能,每当本地下子成功时,就停止本地的界面,调用net中的send()方法,将

最后下子的行列值送到网络上。这时本地的用户不能继续下子,知道网络有消息传来。

mouseMove()- 调用界面中显示行列坐标的函数;

Server()- 调用net中的makeserver()方法建立服务器,将得到的端口和颜色信息交付给网络包,并对网络和本地的颜色赋值;

Client 中的link()方法建立客户机,将得到的ip地址和端口信息交付给网络包,并给网络包中建立客户机的函数传递必要参数;

isClose()/setClose –参数close的setter和getter,以备其他类调用controller 类中的私有变量close;

main()- 主函数,也是整个程序的入口,建立Cotroller的对象c,在建立时实现了构造函数controller()中的方法,同时程序进入等待状态,等待用户对界面上的按钮进行操作,或者等待网络上传来消息

(一)用到的变量

BLACK/WHITE/SPACE – int型变量,静态初始化为1/-1/0,分别代表黑子/白子/空位;

HEIGHT/WIDTH – int型变量,静态初始化为19,代表棋盘的高度和宽度;

lastrow/lastcol –int型变量,初始化为0,用于记录最后落子的行列值。

data[][] – int型的二维数组,作为整个棋盘的抽象模型,其中存的变量即为特定的棋子。

注:颜色的使用对照16进制颜色码

第四章程序的实现

打开服务器

准备连接主机

开始对战

一方获胜,结束游戏,点击退出游戏

总结

通过一学期对java语言程序设计的学习,我们从中受益匪浅,对于这门课程的学习,有了更加深刻地认识。通过这次的java课程设计,让我们学会了如何利用书本知识应用到实际中去,在所要开发的项目中渐渐成长。虽然在这段时间的设计中有挫折和坎坷,调试的时候经常出现许多不同种的问题,但是我们都克服了。当我们有了问题和疑问,同学和老师都能很耐心的给予讲解,让我们处在一个良好的学习氛围中

在课程设计中,我们设计了五子棋游戏系统,它基本满足了利于用户操作,

五子棋报告-java

XXXX大学 XX学院 课程设计报告 课程名称:面向对象程序设计 题目名称:五子棋游戏设计 学生姓名: 专业班级: 指导教师:任晓强

一、课程设计目的与任务(四号、宋体、加黑、顶格) (1)掌握Java编程、面向对象的基础知识。 (2)较熟练地编写Java应用程序Application。 (3)了解Java的常用标准类库、编程技巧、异常处理。 (4)联系已学过的内容,巩固所学的理论,增强独立工作能力。(5)通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能力都有一个很大的提高。 (6)通过本次设计,进一步培养学生热爱专业的思想,同时对本专业综合素质的提高起一个积极的推动作用。 课程设计过程中,要严格遵守实践环节的时间安排,听从指导教师的指导。正确地完成上述内容,记录实习日记,规范完整地撰写出课程设计报告。 二、课程设计内容 1本设计题目的主要内容 设计一个15╳15围棋棋盘,由两玩家交替进行对战,并可以实现以下功能: 1.选择落子的先后顺序 2.重置棋盘 3.刷新重新开始 4.退出提示 并且规定退出者判为负,但退出过程中要有提示。以防不小心点错了。 最后判断某一方是否为五子连珠。 实现一个简单的多用户五子棋的游戏程序,包括如下两个界面 (1)选择对弈桌(执黑、执白)。 (2)在游戏界面,有开始,退出(游戏未结束、点退出自动判负); 2 设计思想与程序构架

程序流程图 程序的功能分配 a. 棋盘的绘制 public void draw_qipan(Graphics G) 添加按钮 Button b1=new Button("开始"); Button b2=new Button("重置游戏"); Label lblWin=new Label(" "); Checkbox ckbHB[]=new Checkbox[3]; Button exist = new Button("退出"); public void init(){ ckbHB[0]=new Checkbox("执白",ckgHB,false); ckbHB[1]=new Checkbox("执黑",ckgHB,false); ckbHB[2]=new Checkbox("观看",ckgHB, false); } c. 鼠标棋子的触发事件 public void mouseClicked(MouseEvent e) { Graphics g=getGraphics(); int x1,y1; x1=(); y1=(); if ()<20 || ()>300 || ()<20 || ()>300) {

基于c语言五子棋小游戏--本科生毕业设计

五子棋小游戏 一.需求分析 现在有越来越多的人使用电脑,而且五子棋的受众广泛但实体棋操作较为繁琐且平时较难实现,所以电脑版的五子棋游戏应运而生。大家对于这个小游戏的需求如下:首先,设计这个游戏最基本的就是实现玩家之间对战,玩家可以通过某些操作来实现对战功能;有时候可能由于时间等原因,玩家可能需要保存游戏,此时需要一个“保存”功能;有时候可能玩家由于失误会走错棋,此时就需要“悔棋”功能;有时候玩家可能觉得这局游戏玩的非常不好,这时候就需要“重新开始游戏”功能;玩家在玩过游戏之后有可能想保存游戏记录便于以后分析此时就需要“排行榜”功能;有些玩家在玩游戏时喜欢听音乐,这时候就需要在下棋时可以播放背景音乐的功能;最基本的通过输入坐标来实现落子的操作方式很繁琐而且很不方便,这时候就可以将落子机制改为更直观的光标移动模式。 二.设计思路 1.玩家对战功能:在玩家对战功能中,玩家可以通过按方向键来移动光标、按空格来实现落子,最终在横或竖或斜方向上达成五个相同颜色的棋子来获得胜利。 基本思路: (1)使用二维数组保存棋局。 (2)由于要使用光标,所以使用输出缓冲器。 (3)打印棋盘。 主要使用Print()函数来算出棋盘并将缓冲器内容输出。

其余为其中调用的辅助函数。chessPrint()是打印交点坐标的字符的函数;getCurse()是打印光标的函数;write()函数是用来向缓冲器里面写入字符串的函数;ln()函数是负责将缓冲器写 入位置提行的函数;Display()函数是将缓冲器中内容输出到屏幕的函数。 (4)下子,在后文有详细介绍。 (5)胜负平判断 调用Check()函数进行四个方向的检查,检查是否有五子连珠。

(完整版)五子棋人工智能课题毕业论文

人工智能专家系统论 文 题目五子棋AI算法和网络通信的研究 学生姓名陈维梅 学号 系别商务学院 年级2009 专业计算机科学与技术 指导教师 职称讲师 完成日期

五子棋AI算法和网络通信的研究 摘要: 本系统将利用五子棋游戏作为研究对象,通过设计出一个能够实现两种不同对战模式的五子棋游戏。并对所涉及到的相关技术进行初步的探讨,将重点放在人机对奕中AI算法研究方面。 游戏中提供两种选择模式:人机对战和人人对战。在人机对战中玩家通过选择不同的AI等级和电脑一决高下。在人人对战中双方可以进行下棋,悔棋但要通过对方的同意。同时还可以实现在线聊天。AI的不同等级是以不同的搜索深度确定的。本系统以深度为2,3,4分别为初级,中级,高级。网络对战中则使用Socket实现点对点通信。 关键字:五子棋、博奕AI算法、网络通信 Research the AIof Renju and the Communication Summary: This system will use Renju as research objects, passing to design a Renju game that can provide two kinds of dissimilarities to the play mode. to involve to of the related technique carry on the study of the first step, play more attention in the AI calculate way research aspect. It provide two kinds of choice modes in the game:Person's machine to the war and the everyone to war.The player passes to choose the different AI grade and computer in person's machine the rightness the war

五子棋java设计文档

安阳工学院 JA V A课程综合项目报告 项目题目:五子棋 专业班级:12网工专升本 学生姓名:阮营营 学生学号:201203060042 指导教师姓名:许研 2012年12月 安阳工学院计算机学院制

目录 一、系统目标 (2) 二、系统设计思路 (2) 三、系统详细设计 (2) 四、系统实现 (9) 五、系统设计总结 (12) 六、参考文献 (12)

一、系统目标 1、主要是介绍开发五子棋的整个过程,体现流程设计与类设计的基本方法,示范了数组的使用,使用了分支结构与循环结构的流程控制 2、通过课程设计把课堂上讲的内容融会贯通,学会设计程序、开发应软件、开发系统软件等各项工作。 3、通过实习掌握语言的语法结构,理解类和对象的概念,准确的使用各种数据类型,对面向对象中的继承和多态的概念要理解、会使用,在程序中提高代码的重用性,使设计的程序结构清晰、易于维护。 二、系统设计思路 1、获取棋盘设计一个11╳11围棋棋盘,由两玩家交替进行对战,并可以实现以下功能。五子棋的规则为: 2、下棋方法两人分别执黑白两色棋子。轮流在棋盘上选择一个无子的交叉点落子,无子的交叉点又被称为空点。 3、输赢判断每次下完一颗棋子,就通过程序从横、竖、斜各个方向扫描棋盘,如果在某个方向中,有同种颜色的棋子达到五连子,则此颜色的玩家为赢。如果没有相同颜色的棋子达到五连子,则继续游戏。 三、系统详细设计 3.1程序流程图

3.2创建棋盘类,绘制棋盘的样式 main方法创建了ChessFrame类的一个实例对象,并启动屏幕显示显示该实例对象。 public static void main(String argc[]) { myframe f = new myframe(); } 构造五子棋的主窗体: class myframe extends Frame implements WindowListener { mypanel panel; myframe() { setLayout(null); panel = new mypanel(); add(panel); panel.setBounds(0, 23, 360, 360);

五子棋(JAVA版)实习报告及原代码

实习报告 课程名称信息系统认知实习实习题目java五子棋专业 班级 学号 学生姓名 实习成绩 指导教师 2010年1月 前言

摘要 五子棋作为一个棋类竞技运动,在民间十分流行,为了熟悉五子棋规则及技巧,以及研究简单的人工智能,决定用Java开发五子棋游戏。主要完成了人机对战和玩家之间联网对战2个功能。网络连接部分为Socket编程应用,客户端和服务器端的交互用Class Message定义,有很好的可扩展性,客户端负责界面维护和收集用户输入的信息,及错误处理。服务器维护在线用户的基本信息和任意两个对战用户的棋盘信息,动态维护用户列表。在人机对弈中通过深度搜索和估值模块,来提高电脑棋手的智能。分析估值模块中的影响精准性的几个要素,以及提出若干提高精准性的办法,以及对它们搜索的节点数进行比较,在这些算法的基础上分析一些提高电脑AI方案,如递归算法、电脑学习等。算法的研究有助于理解程序结构,增强逻辑思维能力,在其他人工智能方面也有很大的参考作用。 1引言 1.1课题背景 五子棋是起源于中国古代的传统黑白棋种之一。现代五子棋日文称之为连珠,英译为Renju,英文称之为Gobang或FIR(Five in a Row 的缩写),亦有连五子、五子连、串珠、五目、五目碰、五格等多种称谓。 五子棋起源于古代中国,发展于日本,风靡于欧洲。对于它与围棋的关系有两种说法,一说早于围棋,早在“尧造围棋”之前,民间就已有五子棋游戏;一说源于围棋,是围棋发展的一个分支。在中国的文化里,倍受人们的青睐。本世纪初五子棋传入欧洲并迅速风靡全欧。通过一系列的变化,使五子棋这一简单的游戏复杂化、规范化,而最终成为今天的职业连珠五子棋,同时也成为一种国际 比赛棋。 Java语言是当今最为流行的程序设计语言之一作为一门非常优秀和极为健壮的编程语言,它同时具有的面向对象,与平台无关,分布式应用,安全,稳定和多线程等优良的特征,使用Java语言,不仅可以开发出功能强大的大型应用程序,而且Java语言本身突出的跨平台的特性也使得它特别适合于Internet上的应用开发,可以这样说,Java的出现使得所开发的应用程序“一次编写,处处可用”的 实现成为了可能。 1.2本课题研究的意义 近来随着计算机的快速发展,各种各样的电脑游戏层出不穷,使得我们能有更多的娱乐项目,而棋类游戏能起到锻炼人的思维和修身养性的作用,而且棋类游戏水平颇高,大有与人脑分庭抗礼之势。其中战胜过国际象棋世界冠军-卡斯帕罗夫的“深蓝”便是最具说服力的代表;其它像围棋的“手淡”、象棋的“将族”

五子棋游戏的设计与实现毕业设计论文

毕业论文(设计)题目五子棋游戏的设计与实现

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

(完整版)五子棋本科毕业设计

第一章绪论 1.1开发背景: 游戏软件是当今世界发展最迅速,最有影响力,最有潜力与活力的领域之一?游戏软件深受广大青年人喜爱,而且在发达国家中老年人也有大部分喜欢游戏的,因此游戏软件在很大程度上给予绝大部分人精神上的娱乐?第二次世界大战以后,电子计算机技术得到了突飞猛进的发展?先是由晶体管代替了笨重的真空管,后来出现了集成电路和大规模集成电路,使电子子计算机一代一代实现更新,同时软件技术也发展迅速?在美国,集中了许多计算机软件的设计人才,他们工作之余,时常喜爱编一种能与人斗智的“游戏”,以此来锻炼编程的能力?这种“游戏”花样繁多,但其特点都是利用计算机软件事先设计好的“分析”?“判断”能力反过来与人较量?由于不断修改更新,使计算机的“智力”水平与人难分高低?到了90年代,游戏软件已经为世界各国的人使用,BLACKISLAND和Blizzard.这两个强大的游戏制作组起到了巨大的带动作用,还有中国的洛河工作室在国内也起到了巨大作用,他们让很多很多人喜欢上了游戏软件,打开了这个市场。如今游戏软件产业已经受到了广泛的关注,它年轻有潜力而且吸引人,让人们日益丰富的生活需求得以满足。 五子棋游戏更是吸引着不同年龄段的人群,无论男女老少都可以玩,都喜欢玩,而当前微型计算机已经是在广大人群中流行着,用电脑来下五子棋更是一种时尚。五子棋相传起源于四千多年前的尧帝时期,比围棋的历史还要悠久,可能早在“尧造围棋”之前,民间就已有五子棋游戏。有关早期五子棋的文史资料与围棋有相似之处,因为古代五子棋的棋具与围棋是完全相同的。在上古的神话传说中有“女娲造人,伏羲做棋”一说,《增山海经》中记载:“休舆之山有石焉,名曰帝台之棋,五色而文状鹑卵。”李

基于Java的“网络五子棋”游戏的设计和实现(含源文件)

基于Java的“网络五子棋”游戏的设计和实现——网络版客户端 学生:xxx 指导教师:xx 内容摘要:目前,随着计算机网络的发展,以计算机技术和网络技术为核心的现代网络技术已经在现实生活和生产中得到了广泛的使用,休闲类网络游戏集趣味性,娱乐性,互动性和益智性于一体,已经成为多数人群的休闲方式,也为多数人所喜好。 本设计收集了关于JAVA基础的书籍,着重收录了关于SOCKET编程的内容,找到了五子棋概述和规则的资料,查阅了网络通信技术的相关论文,同时也参考了很多关于五子棋实现的程序资料以及关于JAVA开发工具的介绍的文档。在期间,我学习了多线程技术、双缓冲技术、数据传输技术、SOCKET编程技术,研究了网络通信原理、JAVA编写原理等一系列的原理。开发了网络五子棋网络通信代码,实现了网络聊天、数据传输、网络通信、界面组织如:棋盘、建立服务器、连接到服务器、系统设置、我要参赛等功能。通过对以上技术的学习和研究,利用SOCKET编程,能服务器与客户端之间的连接,利用多线程技术完成了服务器端与客户端之间的数据传输、网络通信,使得两个客户端能够同步的进行处理。在加载图片以及绘制棋盘方面,采用双缓冲技术消除屏幕的闪烁现象。达到了预期的效果。 关键词: 多线程 SOCKET 客户端网络通信

Design and realization of the web gobang game based on java——client module Abstract: At present, with the development of computer network, computer technology and network technology as the core of modern network technology has in real life and production has been widely used. Recreational type of network games consists of interesting, entertaining, interactivity and beneficial intelligence. It has become a way of entertainment to many people, and has been loved. Much of the information collected in this design,such as many books based on the JAVA, focus on the contents of SOCKET programming, Find information about the web gobang game, Access to the relevant papers, Reference to a lot of program information on achieving The web gobang game and introduction to JAVA development tools on the document. In the period, I learned a series of principles,For example Multi-threading technology, double-buffering technology, data transmission technology, SOCKET programming technique to study the principle of network communication, JAVA writing principles. Internet chat, data transmission, network communications, interfaces structure, such as: the board, establishing server, connecting server, option had been realized. I know these technologies through studying and researching, I using of SOCKET programming, server and client can be connecting, i using of multi-threading technology to complete the server side and client-side data transmission and the client can synchronize the two processtion. Pictures and drawing board loading, I using of double-buffering to eliminate screen flicker. Keywords:multi-threaded socket client network communication

Java五子棋毕业设计论文

摘要 人工智能是一门正在迅速发展的新兴的,综合性很强的交叉科学。它与生物工程、空间技术一起被并列为二十一世界三大尖端技术。它的中心任务是研究如何使计算机去做那些过去只能靠人的智力才能做的工作。目前各发达国家都把人工智能作为重点项目,列入本国的高科技发展计划当中,投入巨大的人力和物力。 计算机人机对弈也是其中之一。作为人智能研究的一个重要分支,计算机博弈是检验人工水平的一个重要方面。它的研究为人工智能带来了很多重要的方法和理论,产生了广泛的社会影响和学术影响。 五子棋人机对弈是计算机博弈中的一种。研究其计算机算法,可以让我们看到人工智能的稚形,也有助于我们人脑的开发。五子棋是我国发明的,研究它可以让更多的外国人了解五子棋,这有助于我国优秀文化的推广。 关键词:人工智能,计算人机对弈,五子棋,算法

目录 摘要 (Ⅰ) 目录 (Ⅲ) 第一章绪论 (1) 第二章需求分析 (2) 2.1 业务需求 (2) 2.2 性能需求 (2) 2.3 系统平台需求 (2) 第三章五子棋相关基础 (4) 3.1 五子棋解释 (4) 3.2 五子棋的基本规则 (4) 3.3 五子棋的常用术语 (5) 第四章开发工具、环境及其技术 (7) 4.1 Java简介 (7) 4.2 Java编程环境 (9) 第五章程序设计思路与实现 (10) 5.1 程序设计思路 (10) 5.2 程序设计 (13) 结论 (33) 参考文献.................................................................................................................... 致谢............................................................................................................................ 附录............................................................................................................................

五子棋-Java课程设计

《面向对象程序设计》 课程设计报告 实验时间:2010年10月26日 实验班级:********************** 实验报告总份(片)数: 1 份(片) 实验指导老师:***** ******* 设计小组 湖南省吉首市吉首大学 课程设计报告 简单的游戏——五子棋 小组成员(姓名、学号): **(组长)** ** ** ** ** 一、实验分工

二、开发环境(实验编译以及测试环境) 硬件环境: CPU:Intel 奔腾双核E5200 主频2.5GHz 内存:2G 软件环境: 操作系统:Windows 7 编程环境JDK7.0 开发工具:Eclipse SDK 三、使用环境(用户运行环境) 硬件环境: CPU主频在500MHZ以上,内存在128M以上 软件环境: JAVA运行环境+ Windows XP或Windows 2000 以上操作系统 目录 第一章总体设计.............................................................................................................................. 1 1.1设计的目的.......................................................................................................................... 1 1.2本系统的主要功能.............................................................................................................. 1 1.3系统包含的类及类之间的关系。...................................................................................... 1 1.4 Java源文件及其功能......................................................................................................... 2 1.5 项目构建思路..................................................................................................................... 2第二章模块功能介绍.................................................................................................................. 12 2.1主类Chess...................................................................................................................... 12

【强烈推荐】五子棋人人对战_c++五子棋毕业论文报告

VC课程设计报告 学院:理学院 专业班级:信息与计算科学班 学生姓名:***** 学生学号:12345 指导教师:### 提交时间:2013年07 月02 日

成绩: 设计题目:五子棋人人对战

目录 第1章引言 .................................................................................................................................................第2章任务概述 ......................................................................................................................................... 2.1问题概述 ......................................................................................................................................... 2.1.1问题重述 .............................................................................................................................. 2.1.2设计目的 .............................................................................................................................. 2.2需求分析 ......................................................................................................................................... 2.2.1基本要求 .............................................................................................................................. 2.2.2游戏功能介绍 ......................................................................................................................第3章概要设计 ......................................................................................................................................... 3.1功能设计 ......................................................................................................................................... 3.2程序结构 ......................................................................................................................................... 3.3基本流程 .........................................................................................................................................第4章程序实现 ......................................................................................................................................... 4.1主要变量及函数的说明 ................................................................................................................. 4.1.1主要变量 .............................................................................................................................. 4.1.2主要函数 .............................................................................................................................. 4.2主要功能的实现 ............................................................................................................................. 4.2.1类声明 .................................................................................................................................. 4.2.2棋盘初始化 .......................................................................................................................... 4.2.3开始下棋 .............................................................................................................................. 4.2.4判断下棋合法 ...................................................................................................................... 4.2.4判断输赢 ..............................................................................................................................

JAVA五子棋程序设计课程设计

JAVA五子棋程序设计课程设计

计算机与信息工程系 《JAVA程序实训》设计 五子棋游戏 摘要: 计算机人机对弈作为人智能研究的一个重要分支,计算机博弈是检验人工水平的一个重要方面。它的研究为人工智能带来了很多重要的方法和理论,产生了广泛的社会影响和学术影响。 五子棋人机对弈是计算机博弈中的一种。研究其计算机算法,能够让我们看到人工智能的稚形,也有助于我们人脑的开发。五子棋是中国创造的,研究它能够让更多的外国人了解五子棋,这有助于中国优秀文化的推广。 关键词:人工智能,计算人机对弈,五子棋,算法 , java 1.课程设计介绍 1.1课程设计目的 经过此次课程设计,巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、NetBeans等开发工具的运用,拓宽常见类库的应用。使我们经过该教学环节与手段,把所学课程及相关知识加以融会贯通,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。本次课程设计每人一组,自行设计并实现共功能模块。

1.2课程设计任务 实现五子棋游戏,要求:使用图形用户界面,实现人人对战,人机对战。能够判断输赢,有“开始”按钮,当出现棋盘后,按此按钮进入对战状态。当有胜利者(垂直、水平、对角线连续5子),显示对话框,提示谁(黑还是白)胜利了。若当棋盘满了还无胜利者,显示平局对话框。有“悔棋”按钮,玩家能够点击悔棋,回到上一步。 1.3课程设计论文编写要求 (1)要按照书稿的规格打印与写课程设计论文; (2)论文包括目录、设计思路、具体实现、运行调试与分析讨论、设计体会与小结、参考文献、附录(源代码)等; (3)课程设计论文装订按学校的统一要求完成。 2.系统设计 2.1需求分析 2.1.1性能需求 一款小游戏的确立是建立在各种各样的需求上面的,这种需求往往来自于玩家的实际需求,其中玩家的实际需求最为重要.面对游戏拥有不同知识和理解层面的玩家,游戏制作人对玩家需求的理解程度,在很大程度上决定了此类游戏开发的成败.因此如何更好地的了解,分析,明确玩家需求,而且能够准确,清晰以文档的形式表示给游戏制作人,保证开发过程按照满足玩家需求为目的正确开发方向进行,是每游戏游戏制作人需要面正确问题。 作为五子棋的设计需要考虑到的最基本的需求莫过于人机对战与人人对战功能的实现,当然还有下棋过程中的下棋悔棋功能以及判断游戏的胜负等方面的要求。当然最好是要考虑到界面的友好性,作为一个娱乐软件,还应

(完整版)五子棋游戏的设计与实现毕业设计

毕业论文(设 计) 题目五子棋游戏的设计与实 现 所在院(系)数学与计算机科学学 院

专业班级信息与计算科学1101班 指导教师拓守恒 完成地点陕西理工学院 2015年5 月18日

五子棋游戏的设计与实现 作者:王勇 (陕理工学院数学与计算机科学学院信息与计算科学专业1101班,陕西汉中 723000) 指导教师:拓守恒 [摘要]五子棋是起源于我国古代的黑白棋种之一,是一种简单的娱乐性较强的大众游戏,深受广大玩家的喜爱,但同时作为比赛,五子棋游戏还有着深奥的技巧。 本系统的实现采用了C语言的模块化的程序设计方式,用Visual C++ 6.0软件来实现程序的编译运行。实现黑白两方分别落子,通过棋盘上方的棋盘动态信息提示,轮流落子,本系统中游戏的每一个功能在程序中都是一个相对独立的模块,比如,棋盘模块,棋子模块,选择游戏模式模块,悔棋模块等等在程序中都是独立的,但它们之间通过逻辑关系的链接又构成了一个可以使游戏正常运行的程序。 为实现游戏的双人对战模式和人机对战模式,并使得游戏尽量的简单化,本系统需要达成以下目标:设计一个简洁的游戏初始界面;制定合法规则,使游戏能公正的进行,并且可以断定胜;支持人机对战模式,可以是电脑通过人工智能和合法规则选出最优落子位置;可以悔棋,在玩家落子落错位置时,可按下悔棋键进行悔棋。 [关键词]五子棋,游戏设计,C语言,双人对战,人机对战,人工智能

Designer and implementation of gobang game Author: wangyong (Grade11,Class 1, Major in Information and computing science, Mathematics and computer science Dept. Tutor: Tuo shouheng Abstract:Gobang is one of the black and white kind of originated in ancient China, is a simple and entertaining stronger mass games, loved by the majority of players, but at the same time as the game, gobang game with profound skills. The implementation of this system method, using Visual C + + 6.0 software to realize the program compiler running. Implementation of black and white two parties move later, respectively, by the board at the top of the dynamic message board, take turns to move later, this game in the system each function in the program is a relatively independent modules, such as, the board module, pawn module, select game mode module, back module and so on in the program are independent, but the link through the logical relationship between them and form a can make the normal operation of the game program. In order to realize the double mode and man-machine game mode, and make the game as far as possible the simplification, the system needs to achieve the following goals: design a simple game of initial interface;the legal rules, can make the game fair, and you can call;support the man-machine

java+五子棋+课程设计报告 (2)

课程设计(论文)任务书 软件学院软件工程+电子商务专业2007-2班 一、课程设计(论文)题目多用户五子棋游戏 二、课程设计(论文)工作自2009年6月15日起至2009年6月19 日止。 三、课程设计(论文) 地点: 创新大楼310 四、课程设计(论文)内容要求: 1.本课程设计的目的 (1)通过课程设计把课堂上讲的内容融会贯通,学会设计程序、开发应用软件、开发系统软件等各项工作。 (2)通过实习掌握语言的语法结构,理解类和对象的概念,准确的使用各种数据类型,对面向对象中的继承和多态的概念要理解、会使用,在程序中提高代码的重用性,使设计的程序结构清晰、易于维护。 2.课程设计的任务及要求 1)基本要求: 实现一个简单的多用户五子棋的游戏程序,包括如下两个界面 (1)选择对弈桌及角色(执黑、执白、观看)。 (2)在游戏界面,有开始,退出(游戏未结束、点退出自动判负);发言及显示区;用户列表区;棋盘绘制区。 2)创新要求: 在基本要求达到后,可进行创新设计,如改善算法性能、友好的人机界面。 3)课程设计论文编写要求 (1)要按照书稿的规格打印与写课程设计论文 (2)论文包括目录、设计思路、具体实现、运行调试与分析讨论、设计体会与小结、参考文献、附录(源代码)等 (3)课程设计论文装订按学校的统一要求完成 4)答辩与评分标准:

(1)完成基本算法设计:20分; (2)完成设计过程:40分; (3)完成调试:20分; (4)回答问题:20分。 5)参考文献: [1]吴其庆编著.Java程序设计实例教程.北京:冶金工业出版社 [2] 柳西玲.许斌编著.Java语言应用开发基础.北京:清华大学出版社 [3] (美)CayS.Horsttmann Gary Cornell JAVA核心技术卷i:基础知识(原书第七版):机械工业出版社 [4]丁振凡Java 语言实用教程:北京邮电大学出版社 [5]https://www.doczj.com/doc/f22512686.html, 6)课程设计进度安排 内容天数地点 构思及收集资料1图书馆 编码与调试 2.5实验室 撰写论文 1.5图书馆、实验室 学生签名: 2009年6 月15 日 课程设计(论文)评审意见 (1)完成基本算法(20分):优()、良()、中()、一般()、差();(2)完成调试(20分):优()、良()、中()、一般()、差();(3)创新设计(20分):优()、良()、中()、一般()、差();(4)设计分析(20分):优()、良()、中()、一般()、差();(5)回答问题(20分):优()、良()、中()、一般()、差();(6)格式规范性及考勤是否降等级:是( )、否() 评阅人:职称: 2009年6月21 日

相关主题
文本预览
相关文档 最新文档