西洋跳棋智能程序设计毕业论文.doc 毕业论文程序设计

来源:演讲稿 发布时间:2019-09-26 00:52:56 点击:
西洋跳棋智能程序设计 学 院 计算机学院 专 业 计算机科学与技术 班 级 学 号 姓 名 指导教师 负责教师 2016年6月 中部石漠化综合防治—水土保持区,要加强林草植被的保护与恢复,加强山洪地质灾害防治,加强石漠化综合治理,遏制石漠化蔓延,增强区域水土保持能力;
东部生物多样性保护—水土保持区,要加强自然保护区建设和流域水土流失区综合治理,切实保护生物多样性和特有自然景观,增强森林生态系统功能。

摘 要 随着社会发展,科技进步,电脑得以普及。电脑游戏伴随着网络和电脑的普及深深的吸引了很多玩家,特别是快节奏的生活,传统的两个人一张桌子的下棋方式逐渐被取缔,人机对弈棋牌类电脑游戏被越来越多的人认可。西洋跳棋作为一款益智类棋牌游戏,不仅可以休闲娱乐,达到游戏自身放松的目的,同时,可以锻炼玩家的思维能力。

计算机博弈是非常实际的计算机科学与技术研究课题,也是非常富有挑战性的人工智能领域的研究方向。西洋跳棋是一种平均分支因子较少的棋种,博弈树算法可以得到很好地应用。

本游戏是利用Qt开发工具与C++开发语言,利用搜索算法设计最优落子的一款西洋跳棋人机博弈游戏。Qt是一个多平台的C++图形用户界面应用程序框架,一种完全面向对象的的程序开发软件,具有很好地封装机制、较高的模块化程度和良好的应用性。C++是一种应用非常广泛的面向对象的计算机程序设计语言,利用C++语言在游戏中的编程,使得西洋跳棋游戏具有美观的界面,人机对弈方面电脑具有较高的智商。

本文主要是对西洋跳棋设计的详细阐述,分别从软件设计背景,需求分析,总体设计和详细设计深入的介绍了软件的开发,并通过对软件的调试分析详细介绍了软件的使用方法,同时,本文深入比较了多种搜素按算法在本设计中的应用。

关键词:西洋跳棋;
人工智能;
Qt;
C++ Abstract With the development of society and the progress of science and technology, computer has been popularized. Computer games with the popularity of computer networks and deeply attracted a lot of players, especially the fast pace of life, traditional two table chess has gradually been banned, man-machine chess chess computer game is more and more people recognized. As a puzzle game of chess, checkers can not only entertainment, to achieve the goal of their game to relax, at the same time, you can rcise player s thinking ability. Computer game is a very practical computer science and technology research, is very rich challenge in the field of artificial intelligence research direction. Checkers is an average branching factor less chess, the game tree algorithm can be applied well. The game is using Qt development tools and C + + programming language, using search algorithms for the design of optimal Lazi a checkers human-computer game.Qt is a multi plat C + + graphical user interface application program framework, a fully object-oriented programming software, has a good encapsulation mechanism and high degree of modularization and good application of C + + is a kind of widely used object oriented computer programming language, using C + + language in game programming, makes checkers game with beautiful interface, man-machine chess electric brain has a higher IQ. The main purpose of this paper is to checkers design are elaborated in detail, respectively, from the background of software design, demand analysis, general design and detailed design deeply introduced software development, and through the software debugging and analysis of the usage of the software are introduced in detail. At the same time, this paper with various search element according to the algorithm in the design of the application. Keywords: checkers; artificial intelligence; Qt; C++ 目 录 1 前言1 1.1 研究背景1 1.2 国内外研究状况1 1.3 研究内容2 1.4 课题意义2 2 需求分析及相关技术介绍3 2.1 软件设计总体目标3 2.2 系统基本功能3 2.3 西洋跳棋游戏规则说明4 2.4 相关技术介绍4 2.4.1 Qt软件简介4 2.4.2 C++编程语言介绍5 2.5 系统技术需求5 3 系统分析及设计6 3.1 系统总体设计6 3.1.1 模块化设计流程6 3.1.2 系统总体构成流程6 3.2 系统算法设计概述7 3.3 系统特点及功能结构7 3.3.1 系统特点7 3.3.2 功能结构7 4 详细设计9 4.1 游戏界面模块详细设计9 4.2 棋盘设计模块详细设计10 4.3 人机博弈模块设计详细设计12 4.3.1 博弈树算法设计12 4.3.2 局面评估设计12 4.3.3 走法生成12 4.4 游戏规则模块详细设计14 4.5 胜负判断模块详细设计15 5 运行及调试17 5.1 开始界面调试情况17 5.2 棋盘初始化调试情况17 5.3 走棋调试18 5.4 胜负判断调试19 6 总结21 参考文献22 致 谢23 1 前言 1.1 研究背景 西洋跳棋的起源无法追溯,根据大多数棋艺史家的考证,现在认为西洋跳棋起源于法国的南部地区。当今,例如国际象棋等游戏规则在西方已经统一标准,拥有一套统一化的走棋规则,但西洋跳棋至根据地域不同今却流传着几十种不同的游戏规则,例如波兰跳棋、英国跳棋、中东跳棋等。西洋跳棋下棋过程特别注重玩家对整体棋局的掌控性。

西洋跳棋玩法种类繁多,本次设计采用最通用的西洋跳棋规则。双方轮流走子,玩家执红旗先行,人机轮流落子。规则规定:未成王的棋子只能沿斜线向对方左上或者右上前行一格(该格空出没有落子),且未成王的棋子只能前行不可后退。吃子时,对方的棋子在己方棋子斜对角格子的左上或者右上,且对方棋子左上或者右上格子没有其他棋子。加冕成王,游戏在双方底界设计了加冕线,当己方棋子到达对方底边界时,加冕成王,王棋与未成网的棋子区别在于王棋可以后退。胜负判断为两种情况,当一方棋子数量为零时,判断为对方游戏胜利;
当双方棋子都无法移动后,由局面评估给出胜利一方。

1.2 国内外研究状况 当今,西洋跳棋在流行5000年的历史之后已经被计算机完全攻破。多年来,西洋跳棋一直被众多数学家、电脑学家和英国跳棋专家研究,取得了非常显着的成功。早在1989年,乔纳森·谢弗(Jonathan Schaeffer)开始了西洋跳棋项目的研究,在1994年,谢弗的计算机程序已经可以击败当时人类最顶尖的西洋跳棋大师。在之后的研究中,乔纳森·谢弗联手艾伯特大学的学者共同研究出西洋跳棋程序“奇努克”,被誉为当今世界无法被战胜的跳棋程序。

自1950年,香侬首次提出国际象棋解决方案揭开机器博弈发展序幕之后,诸多计算机爱好者和科学家在此领域不断研究,在九十年代初期,计算机连续战胜很多棋道大师,特别是1997年“深蓝”战胜世界棋王,人工智能在计算机博弈方面取得辉煌的成就。之后的研究中,相继攻克中国象棋等众多棋类。2016年3月谷歌Alpha Go与韩国与韩国棋手李世石进行的围棋比赛中计算机以4:1战胜对手获得胜利,人工智能在下棋程序又一次重大进步。

1.3 研究内容 西洋跳棋是一款规则简单,易于上手的游戏,由于游戏的特性,可以提高玩家对全局的把握能力,并且可以提高玩家逻辑思维能力。本次设计研究内容主要包括以下介个方面:
游戏界面设计:游戏界面的设计风格直接影响到玩家对游戏的兴趣,所以游戏界面设计在游戏设计中起到非常重要的作用,游戏界面设计主要为游戏开始界面。

游戏棋盘设计:本游戏棋盘设计为标准西洋跳棋10*10的棋盘设计,棋盘中100个格子黑白分明落子明确,玩家可以很容易掌握棋盘。

落子设计:落子设计分为玩家落子和电脑落子。玩家落子只需遵从游戏规则即可,电脑落子采用博弈树搜索算法,寻找最优落子方案。

局面评估设计:局面评估采用分类加权计算双方优势,最终判断局面胜负情况。

1.4 课题意义 目前,市面上棋牌类游戏种类繁多,例如中国象棋、跳棋等棋类游戏版本众多,但西洋跳棋游戏却在棋牌类游戏中特别少见,特别是网络上玩家可选择的西洋跳棋游戏制作简单,画面粗糙,加上许多让玩家不喜的广告,很难满足西洋跳棋爱好者的兴趣。因此需要一款设计画面精美,走棋风格合理的西洋跳棋程序来满足西洋跳棋爱好者的兴趣。

本设计在过程中注重界面设计,Qt软件独特的界面设计功能在设计中可以为玩家设计出精美的界面,精美的开始界面有利于提高玩家的游戏乐趣。在游戏设计中,略高的电脑走法,使玩家不会感到枯燥,玩家在下棋过程中提高自身棋艺的同时,不仅可以起到放松的作用,还可以锻炼玩家的逻辑思维能力和智力。

2 需求分析及相关技术介绍 2.1 软件设计总体目标 西洋跳棋是一款益智类人机对弈棋类游戏。本款软件主要针对的用户为西洋跳棋爱好者和初学者玩家,玩家在使用软件过程中达到休闲娱乐,提高棋艺的目的。设计目标:
第一,界面设计独特新颖,轻松自然,可以吸引玩家,使玩家达到放松的目的;

第二,游戏难度适中,电脑走棋算法合理,适合初级玩家使用,使玩家在使用过程

推荐访问:
上一篇:人教版三年级英语上册 [语文人教版三年级上册肖像描写]
下一篇:最后一页

Copyright @ 2013 - 2018 韩美范文网- 精品教育范文网 All Rights Reserved

韩美范文网- 精品教育范文网 版权所有 湘ICP备11019447号-73