学生毕业论文
题 目: 连珠五子棋的编程与制作
作 者: 陈 涛
指导教师: 张云老师
电子信息工程 学院 计算机 系
软件技术 专业 07 级
三 年制 1 班
2009年 12 月 9 日
目录
目录 2
主要内容简介: 3
1 引言 4
1.1 五子棋介绍 4
1.2 开发背景 4
1.3 开发环境及运行环境 5
1.3.1 开发环境 5
1.3.2 运行环境 5
2 软件架构 5
3 系统需求分析 6
4、系统流程及模块划分 7
4.1 棋盘类 7
4.2 游戏模式类 8
4.3、人工智能模块 14
4.4、声音播放模块 25
结论 28
参考文献: 29
致谢 30
主要内容简介:
基于java的单机版五子棋的游戏的总体功能是要设计出来具有精美界面的、具有人工智能的、具有玩家对弈的五子棋游戏。本系统最终的目的是建立一个具有规则的五子棋平台,使双人能在同一台计算机上对弈,以及人机对战。为了满足上面提出的功能要求,基于java单机版五子棋需要达到以下目标。
制定合法的规则,能够判断出非法操作,以使博弈公正的进行并分出胜负。
支持人机对战,能够让计算机按照游戏规则通过人工智能选择最优走法。
具有精美的操作界面方便用户的操作和使用。
具有优美的音乐增加博弈的乐趣。
连珠五子棋的编程与制作
陈涛
(甘肃联合大学电子信息工程学院07软件技术专业,甘肃 兰州730000)
摘 要:当前网络上流传的五子棋游戏功能并不尽善尽美,其中最主要的问题就是人机对战和玩家对战不能够一起实现,所以我决定开发一个既能够人机对战,玩家对战。下面就对连珠五子棋的各模块内的耦合与模块间的内聚进行分析。主要是各模块的实现全过程进行详细的分解讲述。
关键字:图形界面;人工智能;声音
1 引言
1.1 五子棋介绍
五子棋是起源于中国古代的传统黑白棋种之一。现代五子棋日文称之为“連珠”,英译为“Renju”,英文称之为“Gobang”或“FIR”(Five in a Row的缩写),亦有“连五子”、“五子连”、“串珠”、“五目”、“五目碰”、“五格”等多种称谓。
五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。五子棋既有现代休闲的明显特征“短、平、快”,又有古典哲学的高深学问“阴阳易理”;它既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有“场”的概念,亦有“点”的连接。它是中西文化的交流点,是古今哲理的结晶。
1.2 开发背景
当前网络上流传的五子棋游戏功能并不尽善尽美,其中最主要的问题就是人机对战和玩家对战不能够一起实现,所以我决定开发一个既能够人机对战,玩家对战。
1.3 开发环境及运行环境
1.3.1 开发环境
ADM Athlon(tm) 64 X2 1.9GHz,2GMicrosoft? Windows 7 旗舰版
JDK-1_6_0_04-windows-i586-p
Eclipse-SDK-3.2.1
Myeclipse6.0-Myclipse5.5
1.3.2 运行环境
Intel? Pentium? 2及以上处理器,32M以上内存,4G以上硬盘
Microsoft? Windows? 9X/NT操作系统
800*600或以上的屏幕分辨率
安装JVM虚拟机
2 软件架构
图1.软件的总体架构
考虑到整个的下棋过程可以分为:玩家一对战玩家二、玩家对战电脑,设置己方棋盘数据这一系列过程。
3 系统需求分析
棋盘类基本功能分析
棋盘类是整个系统的核心部分,它除了负责绘制棋盘和棋子之外,还封装了人机对弈所需的人工智能算法,例如下一步的最优落子位置、判断胜负等。
总的来说,人工智能算法就是要让电脑知道在哪一点下子,这就需要根据棋盘的优势,为每一可落子的点计算其重要程度,也就是当着子落下后会形成什么样的棋型(如“冲四”、“活三”等),然后统揽全盘选出最重要的一点,这便是最基本的算法思想。当然,仅依靠当前盘面进行判断是远远不够的,这样下棋很容易掉进对方预先设下的陷阱,因为他没有考虑以后的变化,所以在此基础上加入递归调用,及在电脑中预测出今后几步的各种走法,以便作出最佳选择。
下面是五子棋人工智能部分的核心算法。
首先是数据结构:建立一张表用已记录棋子信息,这里使用一个15*15(15*15是五子棋棋盘的大小)的二位数组Table[15][15],数组的每一个元素对应棋盘上的一个交叉点,用0表示空位、1代表己方的子
原创力文档

文档评论(0)