1、 目 录 第 1 章 课程设计的目的与要求 1 1.1 课程设计目的 1 1.2 课程设计的实验环境 1 1.3 课程设计的预备知识 1 1.4 课程设计要求 1 第 2 章 课程设计内容 2 2.1 课程设计主要内容 2 2.2 概要设计 2 2.3 详细设计 5 2.4 测试分析 . 17 第 3 章 课程设计总结 18 参考资料 19 1 第 1 章 课程设计的目的与要求 1.1 课程设计目的 JAVA 程序设计 是计算机相关专业的必修专业基础课程, 其实践性、 应用性很强。 实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是计算机相关专 业学生学习完JAVA 程序设计课程
2、后,进行的一次全面的综合训练,JAVA 程序设计 的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在 网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为 基础进行软件开发、并在实践应用方面打下一定基础。 1.2 课程设计的实验环境 硬件要求能运行 Windows 9.X 操作系统的微机系统。JAVA 程序设计语言及相应的集 成开发环境,J2SDK 和 ECLIPSE 开发工具。 1.3 课程设计的预备知识 熟悉 JAVA 语言及 ECLIPSE 开发工具。 1.4 课程设计要求 按课程设计指导书提供的课题,要求学生在自行完成各个操作环节,并能
3、实现且达 到举一反三的目的,完成一个项目解决一类问题。要求学生能够全面、深入理解和熟练 掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握, 能够进行简单分析和判断;能编写出具有良好风格的程序;掌握 JAVA 程序设计的基本, 计算机范文网 ,技能和面向对象的概念和方法;了解多线程、安全和网络 等编程技术。同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、 设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。 2 第 2 章 课程设计内容 2.1 课程设计主要内容 Java 语言的学习热潮并没有因为时间的推移而消退,相反,由于计算机技术的发展
4、所带来新应用的出现,Java 越来越流行,这种情况是以往程序设计语言在其生存周期内 所不多见的。Java 语言之所以这样长盛不衰,一是因为其众多的技术特点与现今的应用 十分合拍,可以覆盖大部分的需求;二是因为 SUN 公司不断推出新的版本,完善 Java 自身的功能。有了这两点,Java 语言成为程序员首选的程序设计开发工具就在情理之中 了。 黑白棋,又叫翻转棋(Reversi) 、苹果棋或奥赛罗棋(Othello) 。一般棋子双面为黑 白两色,故称“黑白棋” 。因为行棋之时将对方棋子翻转,变为己方棋子,故又称“翻转 棋” 。棋子双面为红、绿色的称为“苹果棋” 。 黑白棋的前身是英国人发明的翻
5、转棋 (Reversi),后来由日本的长谷川五郎加以改进,并改称为奥赛罗棋(Othello),国内习惯上 称之为黑白棋。这个棋类游戏在西方较为流行,但在中国起步较晚,还不很普及。 黑白棋作为一个棋类竞技运动,在民间十分流行,为了熟悉黑白棋规则及技巧,以 及研究简单的人工智能,决定用 Java 开发黑白棋游戏。主要完成了人机对战功能,有很 好的可扩展性。在人机对弈中通过深度搜索和估值模块,来提高电脑棋手的智能。分析 估值模块中的影响精准性的几个要素,以及提出若干提高精准性的办法,以及对它们搜 索的节点数进行比较,在这些算法的基础上分析一些提高提高电脑 AI 方案,如递归算 法、电脑学习等。算法的
6、研究有助于理解程序结构,增强逻辑思维能力,在其他人工智 能方面也有很大的参考作用。尽管黑白棋的规则比较简单,但它所包括的丰富战略,不 亚于那些相当“经典”的策略游戏。其中人工智能部分,由于采用了大量的搜索算法, 其中很多被利用到各方面。 2.2 概要设计 近来随着计算机的快速发展,各种各样的电脑游戏层出不穷,使得我们能有更多的 娱乐项目, 而棋类游戏能起到锻炼人的思维和修身养性的作用, 而且棋类游戏水平颇高, 大有与人脑分庭抗礼之势。其中战胜过国际象棋世界冠军-卡斯帕罗夫的“深蓝”便是最 具说服力的代表,其它像围棋的“手淡” 、象棋的“将族”等也以其优秀的人工智能深受 3 棋迷喜爱。 越来越多的具有智能的机器进入了人类的生活,人工智能的重要性如今显而易见。 自己对人工智能比较感兴趣,而黑白棋游戏程序的开发实现这个课题,正好提供给我这 样一个研究的机会,通过对人工智能中博弈方面的研究(人机对弈) ,让我在简单的人机 对弈全局设计,以及具体到相关算法上有了深入的了解。人工智能属于计算机科学的领 域,它以计算机技术为基础,近几十年来,它的理论和技术已