西安科技大学高新学院 毕 业 设 计(论 文) 题 目: 五子棋的设计与实现
学 院: 机电信息学院
专 业: 计算机科学与技术
姓 名:
班级/学号 计科1101
指导老师:
起止时间:2014年6月23日 至2014年12月30日
摘 要
现如今是一个激烈并且而又快节奏的社会。一些打工族为了解决完成自己的必需任务,伴随着现在社会的飞速日新月异激烈发展以及激烈的竞争, 而我们作为学生为了一个好的工作日日夜夜也是废寝忘食学习钻研,天天超负担的努力学习工作;加重身心疲惫。至此为了缓和大家的学习工作压力,使得大家在学习、工作之后缓解压力,有利学习和工作效率,多活动活动大脑,我自己细心设计了这个有趣五子棋游戏。
本系统会以五子棋游戏为中心思想,在Windows7环境下,使用Dreamweaver、Editplus等开发工具,并且运用所学的网页编程Html语言、层叠样式表css以及直译式脚本语言Javascript等知识设计出一个可以完成人机对拼具有思维能力的简单小游戏。
因此,本系统,采用Html语言结合面向用户的软件界面设计创建出游戏的界面,在搭配层叠样式表css技术进行对界面的美化,加入颜色,图片、字体、布局等样式,对界面进一步的美化与调动,最后在已经创建好的界面上通过译式脚本语言Javascript创建电脑对象、棋子对象等等一系列需要使用的对象,再结合人工智能技术编写电脑对象的智能,使得电脑具有人的思维方式。最后给整个游戏贯穿起来。
此系统涉及了到我学的大量的知识,包括有人工智能导论、编译原理、数据结构、web开发技术、程序设计、面向用户的软件界面设计等中许多相关的知识,而计算机博弈其实就是人工智能需要研究的其中重要分支,包含了一些重要的算法以及构造。通过这些了解我觉得必需要努力学习查阅资料,才能实现我所要的这些功能。
关键字:计算机博弈,人工智能,五子棋,人机对战
I
Abstrict
Along with modern society the rapid development and fierce competition, changing and is now a fierce and the fast pace of society.Some workers in order to solve their essential task, super burden study hard work every day;And we as a student for a good work day and night also neglect their study study, increase the exhaustion of body and mind.At this point in order to ease everyone study work stress, relieve pressure after the study, work, make exercise the brain, the more favorable learning and work efficiency, I carefully designed the gobang game fun. This system will be centered on gobang game ideas, under the Windows environment, the use of development tools such as Dreamweaver, Editplus, and apply what they have learned web programming, cascading style sheets (CSS and Html language translation type scripting languages such as Javascript knowledge can design a complete man-machine to spell a simple little game of thinking ability.
Therefore, this system USES Html language user oriented software interface design to create the interface of the game, the collocation of cascading style sheets (CSS technology of interface beautification, add color, graphics, fonts, layout style, to further beautify and mobilize interface, and finally on the already created good interface through Javascript scripting language create computer object, pieces and so on a series of need to use the object, combined with artificial intelligence technology to write the object's intelligence, makes the computer has a way of thinking.Throughout the entire game up finally.
This system involves to I learn a lot of knowledge, including an introduction to artificial intelligence, compiling principle, data structure, programming, web development technology, user-oriented software interface design and so on many related knowledge, and the computer game is the need to study one of the important branch of artificial intelligence, contains some important algorithms and structure.So far I only after a lot of research and practice, is likely to finish in the gobang man-machine function.
Key words: computer game, artificial intelligence, gobang, man-machine, data structur
II
目录
目录
摘 要 ................................................................................................................................................................. I ABSTRICT .............................................................................................................................................................. II 1 概述 .................................................................................................................................................................. 1 1.1 开发背景 ............................................................................................................................................................ 1 1.2 课题意义 ............................................................................................................................................................ 2 1.3 人工智能介绍 .................................................................................................................................................... 2 1.4 五子棋规则 ........................................................................................................................................................ 3 1.4.2 五子棋的发展与现状................................................................................................................................ 4 1.5 研究内容 ............................................................................................................................................................ 5 2 五子棋程序的介绍 ........................................................................................................................................... 6 2.1 五子棋程序基本功能 ........................................................................................................................................ 6 2.2 开发运行环境 .................................................................................................................................................... 6 2.3 本软件开发的工具以及开发语言的介绍 ........................................................................................................ 6 2.3.1 开发工具---- Dreamweaver .................................................................................................................... 6 2.3.2 开发工具的安装与破解 ............................................................................................................................ 7 2.3.3 开发工具使用 ............................................................................................................................................. 7 2.3.4主要的开发语言—javascript(js) ............................................................................................................. 8 2.4 五子棋的程序功能设计..................................................................................................................................... 8 3 五子棋总体的设计 ........................................................................................................................................... 9 3.1 人机界面的实现以及鼠标事件的监听 ............................................................................................................. 9 3.1.1应用程序的界面生成 .................................................................................................................................. 9 3.1.2 人机界面的生成 ..................................................................................................................................... 11 3.1.3鼠标事件的监听 ........................................................................................................................................ 12 3.2 按钮的功能的实现 .......................................................................................................................................... 12 3.2.1 开始游戏功能按钮 ................................................................................................................................... 13 3.2.2 我要悔棋功能按钮 ................................................................................................................................... 13 3.2.3 游戏认输功能按钮 ................................................................................................................................... 13 3.2.4 游戏帮助功能按钮 ................................................................................................................................... 14 3.3 棋子的表示 ...................................................................................................................................................... 15 3.3.1 五子棋的棋子属性表示............................................................................................................................ 15 3.3.2 绘制棋子 ................................................................................................................................................... 15 3.4 下棋表示 .......................................................................................................................................................... 16 4 五子棋的AI算法 ............................................................................................................................................. 17 4.1 电脑的智能下棋 .............................................................................................................................................. 17 4.2 游戏的胜负的判断 .......................................................................................................................................... 18 5 软件测试 .......................................................................................................................................................... 19 5.1 软件的测试定义 .............................................................................................................................................. 19 5.2 界面测试 .......................................................................................................................................................... 19 5.3 数据的测试 ...................................................................................................................................................... 22 5.4 用户的验收测试 .............................................................................................................................................. 22 总结 ..................................................................................................................................................................... 23 致谢 ..................................................................................................................................................................... 24 参考文献 ............................................................................................................................................................. 25
III
五子棋游戏的设计与实现
1 概述
此章会详细的描述我所选题目的开发背景,介绍人工智能的重要原理,还有课题的意义,也会有所牵连五子棋游戏设计与实现的现状,我这次选这个题目的研究内容和方向。
1.1 开发背景
随着互联网和现在计算机技术快速发展,游戏程序现如今各地发展是最快速,最为有震慑力,最为有发展力以及活力领域之一?计算机的游戏的问世为大众们提供了这个全新娱乐平台,扩展了我们自由支配的时间。为此和Game有关程序软件将受到了无数人追捧。伴随着几年来程序软件的开发技术不断进步与不断发展,现游戏软件操作要求也是越来越简易多样化,但是绝大多数游戏的爱好者摸索一点时间便可以随心所欲玩耍,甚至连有些老年人也慢慢开始一点点喜欢上了它。
二战结束以后,计算机技术得了空前绝后发展空间?无数国家中美国计算机技术发展得最为快速。1946,第一台电计算机((ENIAC))在美国宾夕法尼亚大学得到制造完成。刚出世的ENIAC,一个新的时代也意味着降临那就是计算机电子时代的到来,对也这个重大意义的时代是时代的里程碑,对于我们的科技时代也是有着重大的足迹一个旗杆。地球上伟大的东方国度----中国也是不会甘于落后,我国也在1956年也制出了我们自己的电脑。在过后的几年里东方国度---中国完美的做出了电子管计算机包含大型和小型等。集成的电路的计算机在不就得后被制造出来,与此同时和大规模集成的电路的电脑也被开发出来,自此以后各种各样的计算机就层出不穷,各种综合能力也是不断变好,同时不管是计算速度还是运行效率也是得到发展,集中了大多计算机软件设计人才的美国,在工作之后,他们也时常编写一种可以和人拼智的“游戏”,为此来增强自己编程能力?这种“游戏”也是各式各样,但是万变不离其宗它们特点都是通过计算机中的软件事先设计好 “判断”和“分析”能力反来和人比斗的?由于它们不断的创新更改,使计算机的“智力”的水平与人难解高下啊?到了上一个世纪中的九十年代,游戏软件便早已成为世界各地人玩耍,所谓的游戏软件是指利用各种各样的程序跟动画效果组合一起的产品,我们便把他叫做作为\游戏软件\。到目前,互联网上我们也是可以看到的各种各样大型3D网络的游戏和WEBGAME的网页游戏等等它们都是大多是通过\、MAYA、FLASH、动画软件和面向对象JAVA、C++、VB、等等语言开发出来,所以我们才叫游戏软件。中国的一些组合给我国也是贡献很大很大的促进,中国起到了巨大作用工作组便是洛河工作室,他们让也越来越多人喜欢上了游戏,敲开了广阔的市场。到如今的游戏已经受到了很大关注,它年轻而又具有潜力的并且吸引人,让人们生活日益丰富起来。
而五子棋游戏诞生是吸引着各个不同年龄段的人群,这是一个老少皆宜的好游戏,而当前微型的计算机成为广大人群流行的时候,用电脑下五子棋便更是一种时尚。现如今网络上出现了的各式各样五子棋游戏,有难、有简单的等等。而这些所有的都满足了我们各
1