益智游戏五子棋的设计与实现.docx
PAGE4
《益智游戏五子棋的设计与实现》
摘要
本文论述的是采用Java语言开发的一个单机版的五子棋小游戏,包括棋盘界面的设计、游戏菜单的设计、游戏的设计、悔棋和初始化等设计。在查阅相关资料的同时,完成系统任务需求分析和系统功能描述,制订系统设计方案,采用Java语言编程实现,在完成课题设计的基础上进行论文的撰写。
程序设计过程中遇到的难题,有如何实现黑白棋子循环,如何判断胜负,如何实现悔棋,如何使屏幕在下棋后不闪烁等问题,我经过认真思考和反复调试,抓住问题规律和五子棋规则,一一解决了这些问题,从而实现了游戏的基本功能。五子棋小游戏经过不断的开发和完善,已从1.0版本升级到了目前的3.0版本,基本功能已实现,但还有很大的改进空间和需要完善的功能,比如人机对弈功能和网络联机功能。
关键词:五子棋,棋盘界面,初始化,博弈论
目录
TOC\o1-3\h\z\u第一章绪论 5
1.1研究背景与意义 5
1.2国内外研究现状 6
1.3本章小结 6
第二章相关技术介绍 7
2.1Java平台简介 7
2.1.1Java体系结构 7
2.2AIpha-Beta搜索算法 9
2.2.1算法核心 9
2.3Java网络编程简介 10
2.3.1网络通信基础 10
2.3.2JavaSocket简介 10
2.4本章小结 11
第三章系统的需求分析与设计 11
3.1可行性分析 11
3.1.1技术可行性 12
3.1.2操作可行性 12
3.1.3经济可行性 13
3.2系统设计 13
3.2.1概要设计 13
3.2.2游戏界面设计 13
3.2.3事件驱动设计 13
3.2.4游戏流程设计 14
3.2.5数据库设计 14
3.3本章小结 15
第四章系统主要功能的实现 16
4.1主窗体实现 16
4.2用户登录实现 17
4.3棋盘模块实现 18
4.4游戏事件实现 20
4.4.1游戏开始事件的实现 20
4.4.2悔棋事件的实现 21
4.4.3认输事件的实现 22
4.4.4和棋事件的实现 23
4.5游戏回放功能的实现 23
4.6更换游戏背景的实现 24
4.8本章小结 25
第五章系统测试 26
5.1系统测试的意义 26
5.2性能测试 27
5.3系统主要功能的实现 27
5.3.1人机游戏 27
5.4测试用例 28
5.4.1测试的任务 28
5.4.2测试的目标 28
5.4.3软件测试的方法 28
结论 30
第一章绪论
1.1研究背景与意义
计算机的发展催生了一门新兴的学科—人工智能。人工智能(ArtificialIntelligence),英文缩写为AI,它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。它是计算机学科的一个分支,二十世纪七十年代以来被称为世界三大尖端技术之一(空间技术、能源技术、人工智能)。也被认为是二十一世纪三大尖端技术之一(基因工程、纳米科学、人工智能)。这是因为近三十年来它获得了迅速的发展,在很多学科领域都获得了广泛应用,并取得了丰硕的成果,人工智能己逐步成为一个独立的分支,无论在理论和实践上都己自成一个系统[1]。
计算机博弈是人工智能领域一个极其重要且最具挑战性的研究方向之一,它的研究为人工智能带来了很多重要的方法和理论,产生了广泛的社会影响和学术影响以及大量的研究成果。在过去的半个世纪里,世界各地的学者花费了大量的心血对计算机博弈包括奥赛罗、checker、国际象棋、中国象棋、五子棋、围棋等进行研究。这是因为计算机博弈是人工智能的一块试金石,然而棋类游戏又是计算机博弈的一个标准性问题,各种搜索算法、模式识别及智能方法在计算机博弈中都可以得到广泛的应用。在长时间的研究中,涌现出大量令人震惊的成果[2]。
计算机作为电子产品,其智能性主要是通过一些智能算法在处理器上运行来实现。因此,虽然是两种不同的终端,但计算机博弈的方法在终端上实现。手机作为一种重要的电子终端,具有庞大的用户群,并且用户都会随身携带[3]。
五子棋是一项比较流行的博弈游戏,规则简单,富有趣味性,深受人们的喜爱。通过五子棋人机对战的研究和实现,能够模仿人的思维活动,让人们玩五子棋游戏,这将会让人们更深入的理解人工智能。五子棋事业的迅速发展,导致了国内外五子棋的交流和比赛也越来越多,同时这也带来了广大的五子棋爱好者。目前,在我国的很多大城市中