目录
1.绪论2
1.1引言2
1.2主要设计内容3
2.开发工具简介3
2.1 java语言概述3
2.2 java语言的特点4
2.3 关于ECLIPSE5
3.程序设计需求分析7
3.1任务概述7
3.2综合要求7
3.3 设计基本要求7
4.程序的总体设计8
4.1线程的设计8
4.2线程的生命周期9
5.程序的详细设计11
5.1程序流程图11
5.2数据字典12
5.3运行结果及界面16
6.实验总结18
参考文献18
附录(部分源代码)19
1.绪论
1.1引言
象棋水平的发展是需要靠信息技术来推动的,
国际象棋有两个很好的范例一个是象棋棋谱编辑和对弈程序的公共平台--WinBoard平台
另一个是商业的国际象棋数据库和对弈软件--ChessBase
他们为国际象棋爱好者和研究者提供了极大的便利。
国际象棋软件有着成功的商业运作,已发展成一种产业。
然而,电脑在中国象棋上的运用还刚刚起步,
尽管国内涌现出一大批中国象棋的专业网站和专业软件
但是由于缺乏必要的基础工作电脑技术在中国象棋上的应用优势还无法体现出来。
在设计中国象棋软件过程中,国际象棋软件有很多值得借鉴的成功经验和优秀的思想。
例如B. Moreland,微软(Microsoft)的程序设计师,
业余从事国际象棋引擎Ferret的开发他的一系列关于国际象棋程序设计的文章非常值得其他棋类程序设计人员借鉴。
然而,中国象棋与国际象棋存在着很大的差异,
因此国际象棋的某些成熟技术无法直接应用于中国象棋
需要对其加以改进和创新。
1.2主要设计内容
本课题采用Java语言编写这个中国象棋对弈系统程序。
主要工作内容:
搜集相关资料,
准备参考资料
学习掌握开发方法、开发工具需求分析确定游戏程序实施方案,
根据要求设计具体的流程图编写程序修改、完善程序
系统调试、测试优化处理。
2.开发工具简介
2.1 java语言概述
Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。
用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:
跨平台、动感的Web、Internet计算。
从此,Java被广泛接受并推动了Web的迅速发展,
常用的浏览器现在均支持Java applet。
另一方面,Java技术也不断更新。
Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。
Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,
可分为基本部分和扩展部分。
在硬件或操作系统平台上安装一个Java平台之后,
Java应用程序就可运行。
现在Java平台已经嵌入了几乎所有的操作系统。
这样Java程序可以只编译一次,就可以在各种系统中运行。
Java应用编程接口已经从1.1x版发展到1.2版。
目前常用的Java平台基于Java1.4,最近版本为Java1.6。
2.2 java语言的特点
Java语言是一个支持网络计算的面向对象程序设计语言。
Java语言吸收了Smalltalk语言和C++语言的优点,
并增加了其它特性如支持并发程序设计、网络通信、和多媒体数据控制等。
主要特性如下:
1. Java语言是简单的。
Java语言的语法与C语言和C++语言很接近,
使得大多数程序员很容易学习和使用Java。
另一方面,Java丢弃了C++ 中很少使用的、很难理解的、令人迷惑的那些特性,
如操作符重载、多继承、自动的强制类型转换。
特别地,Java语言不使用指针,并提供了自动的废料收集,
使得程序员不必为内存管理而担忧。
2. Java语言是一个面向对象的。
Java语言提供类、接口和继承等原语,为了简单起见,
只支持类之间的单继承但支持接口之间的多继承
并支持类与接口之间的实现机制(关键字为implements)。
Java语言全面支持动态绑定,而C++ 语言只对虚函数使用动态绑定。
总之,Java语言是一个纯的面向对象程序设计语言。
3. Java语言是分布式的。
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java.net),
它提供了用于网络应用编程的类库包括URL、URLConnection、Socket、 ServerSocket等。
Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
4. Java语言是健壮的。
Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。
对指针的丢弃是Java的明智选择。
Java的安全检查机制使得Java更具健壮性。
5. Java语言是安全的。
Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。
除了Java语言具有的许多安全特性以外,
Java对通过网络下载的类具有一个安全防范机制(类ClassLoader)
如分配不同的名字空间以防替代本地的同名类、字节代码检查
并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。
6. Java语言是体系结构中立的。
Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件), 然后可以在实现这个Java平台的任何系统中运行。
这种途径适合于异构的网络环境和软件的分发。
7. Java语言是可移植的。
这种可移植性来源于体系结构中立性,另外,
Java还严格规定了各个基本数据类型的长度。
Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,
Java的运行环境是用ANSI C实现的。
8. Java语言是解释型的。
如前所述,Java程序在Java平台上被编译为字节码格式,
然后可以在实现这个Java平台的任何系统中运行。
在运行时,Java平台中的Java解释器对这些字节码进行解释执行,
执行过程中需要的类在联接阶段被载入到运行环境中。
9. Java是高性能的。
与那些解释型的高级脚本语言相比,Java的确是高性能的。
事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。
10. Java语言是多线程的。
在Java语言中,线程是一种特殊的对象,
它必须由Thread类或其子(孙)类来创建。
通常有两种方法来创建线程:
其一,
使用型构为Thread(Runnable) 的构造子将一个实现了Runnable接口的对象包装成一个线程
其二从Thread类派生出子类并重写run方法使用该子类创建的对象即为线程。
值得注意的是Thread类已经实现了Runnable接口,
因此任何一个线程均有它的run方法而run方法中包含了线程所要运行的代码。
线程的活动由一组方法来控制。
Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。
11. Java语言是动态的。
Java语言的设计目标之一是适应于动态变化的环境。
Java程序需要的类能动态地被载入到运行环境,
也可以通过网络来载入所需要的类。
这也有利于软件的升级。
另外,Java中的类有一个运行时刻的表示,
能进行运行时刻的类型检查。
Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,
这也减少了应用系统的维护费用。
Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。
Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。
特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。
2.3 关于ECLIPSE
Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,
用于通过插件组件构建开发环境。
幸运的是,Eclipse 附带了一个标准的插件集,
包括 Java 开发工具(Java Development Tools
JDT)。
虽然大多数用户很乐于将 Eclipse 当作 Java IDE
上一篇:
中国象棋对弈系统_java课程设计
下一篇:
近三年来思想工作小结(德能勤绩廉)