版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 西洋跳棋智能程序設(shè)計(jì)</p><p><b> 2016年6月</b></p><p> 學(xué) 院計(jì)算機(jī)學(xué)院</p><p> 專 業(yè)計(jì)算機(jī)科學(xué)與技術(shù)</p><p> 班 級(jí)</p><p> 學(xué) 號(hào)</p><p> 姓
2、 名</p><p> 指導(dǎo)教師</p><p> 負(fù)責(zé)教師</p><p><b> 摘 要</b></p><p> 隨著社會(huì)發(fā)展,科技進(jìn)步,電腦得以普及。電腦游戲伴隨著網(wǎng)絡(luò)和電腦的普及深深的吸引了很多玩家,特別是快節(jié)奏的生活,傳統(tǒng)的兩個(gè)人一張桌子的下棋方式逐漸被取締,人機(jī)對(duì)弈棋牌類電腦游戲被越來(lái)越多的人認(rèn)可
3、。西洋跳棋作為一款益智類棋牌游戲,不僅可以休閑娛樂(lè),達(dá)到游戲自身放松的目的,同時(shí),可以鍛煉玩家的思維能力。</p><p> 計(jì)算機(jī)博弈是非常實(shí)際的計(jì)算機(jī)科學(xué)與技術(shù)研究課題,也是非常富有挑戰(zhàn)性的人工智能領(lǐng)域的研究方向。西洋跳棋是一種平均分支因子較少的棋種,博弈樹(shù)算法可以得到很好地應(yīng)用。</p><p> 本游戲是利用Qt開(kāi)發(fā)工具與C++開(kāi)發(fā)語(yǔ)言,利用搜索算法設(shè)計(jì)最優(yōu)落子的一款西洋跳棋人
4、機(jī)博弈游戲。Qt是一個(gè)多平臺(tái)的C++圖形用戶界面應(yīng)用程序框架,一種完全面向?qū)ο蟮牡某绦蜷_(kāi)發(fā)軟件,具有很好地封裝機(jī)制、較高的模塊化程度和良好的應(yīng)用性。C++是一種應(yīng)用非常廣泛的面向?qū)ο蟮挠?jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,利用C++語(yǔ)言在游戲中的編程,使得西洋跳棋游戲具有美觀的界面,人機(jī)對(duì)弈方面電腦具有較高的智商。</p><p> 本文主要是對(duì)西洋跳棋設(shè)計(jì)的詳細(xì)闡述,分別從軟件設(shè)計(jì)背景,需求分析,總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)深入的介紹了
5、軟件的開(kāi)發(fā),并通過(guò)對(duì)軟件的調(diào)試分析詳細(xì)介紹了軟件的使用方法,同時(shí),本文深入比較了多種搜素按算法在本設(shè)計(jì)中的應(yīng)用。</p><p> 關(guān)鍵詞:西洋跳棋;人工智能;Qt;C++</p><p><b> Abstract</b></p><p> With the development of society and the progress
6、 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
7、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 tim
8、e, you can e</p><p> 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 bra
9、nching factor less chess, the game tree algorithm can be applied well.</p><p> The game is using Qt development tools and C + + programming language, using search algorithms for the design of optimal Lazi a
10、 checkers human-computer game.Qt is a multi platform C + + graphical user interface application program framework, a fully object-oriented programming software, has a good encapsulation mechanism and high degree of modul
11、arization and good application of C + + is a kind of widely used object oriented computer programming language, using C + + language in game programming,</p><p> The main purpose of this paper is to checker
12、s 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
13、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.</p><p> Keywords: checke
14、rs; artificial intelligence; Qt; C++</p><p><b> 目 錄</b></p><p><b> 1 前言1</b></p><p> 1.1 研究背景1</p><p> 1.2 國(guó)內(nèi)外研究狀況1</p><p>
15、 1.3 研究?jī)?nèi)容2</p><p> 1.4 課題意義2</p><p> 2 需求分析及相關(guān)技術(shù)介紹3</p><p> 2.1 軟件設(shè)計(jì)總體目標(biāo)3</p><p> 2.2 系統(tǒng)基本功能3</p><p> 2.3 西洋跳棋游戲規(guī)則說(shuō)明4</p><p> 2.4
16、 相關(guān)技術(shù)介紹4</p><p> 2.4.1 Qt軟件簡(jiǎn)介4</p><p> 2.4.2 C++編程語(yǔ)言介紹5</p><p> 2.5 系統(tǒng)技術(shù)需求5</p><p> 3 系統(tǒng)分析及設(shè)計(jì)6</p><p> 3.1 系統(tǒng)總體設(shè)計(jì)6</p><p> 3.1.1 模
17、塊化設(shè)計(jì)流程6</p><p> 3.1.2 系統(tǒng)總體構(gòu)成流程6</p><p> 3.2 系統(tǒng)算法設(shè)計(jì)概述7</p><p> 3.3 系統(tǒng)特點(diǎn)及功能結(jié)構(gòu)7</p><p> 3.3.1 系統(tǒng)特點(diǎn)7</p><p> 3.3.2 功能結(jié)構(gòu)7</p><p><b&g
18、t; 4 詳細(xì)設(shè)計(jì)9</b></p><p> 4.1 游戲界面模塊詳細(xì)設(shè)計(jì)9</p><p> 4.2 棋盤(pán)設(shè)計(jì)模塊詳細(xì)設(shè)計(jì)10</p><p> 4.3 人機(jī)博弈模塊設(shè)計(jì)詳細(xì)設(shè)計(jì)12</p><p> 4.3.1 博弈樹(shù)算法設(shè)計(jì)12</p><p> 4.3.2 局面評(píng)估設(shè)計(jì)12
19、</p><p> 4.3.3 走法生成12</p><p> 4.4 游戲規(guī)則模塊詳細(xì)設(shè)計(jì)14</p><p> 4.5 勝負(fù)判斷模塊詳細(xì)設(shè)計(jì)15</p><p> 5 運(yùn)行及調(diào)試17</p><p> 5.1 開(kāi)始界面調(diào)試情況17</p><p> 5.2 棋盤(pán)初始化調(diào)
20、試情況17</p><p> 5.3 走棋調(diào)試18</p><p> 5.4 勝負(fù)判斷調(diào)試19</p><p><b> 6 總結(jié)21</b></p><p><b> 參考文獻(xiàn)22</b></p><p><b> 致 謝23</b&
21、gt;</p><p><b> 前言</b></p><p><b> 研究背景</b></p><p> 西洋跳棋的起源無(wú)法追溯,根據(jù)大多數(shù)棋藝史家的考證,現(xiàn)在認(rèn)為西洋跳棋起源于法國(guó)的南部地區(qū)。當(dāng)今,例如國(guó)際象棋等游戲規(guī)則在西方已經(jīng)統(tǒng)一標(biāo)準(zhǔn),擁有一套統(tǒng)一化的走棋規(guī)則,但西洋跳棋至根據(jù)地域不同今卻流傳著幾十種不同的
22、游戲規(guī)則,例如波蘭跳棋、英國(guó)跳棋、中東跳棋等。西洋跳棋下棋過(guò)程特別注重玩家對(duì)整體棋局的掌控性。</p><p> 西洋跳棋玩法種類繁多,本次設(shè)計(jì)采用最通用的西洋跳棋規(guī)則。雙方輪流走子,玩家執(zhí)紅旗先行,人機(jī)輪流落子。規(guī)則規(guī)定:未成王的棋子只能沿斜線向?qū)Ψ阶笊匣蛘哂疑锨靶幸桓?該格空出沒(méi)有落子),且未成王的棋子只能前行不可后退。吃子時(shí),對(duì)方的棋子在己方棋子斜對(duì)角格子的左上或者右上,且對(duì)方棋子左上或者右上格子沒(méi)有其他
23、棋子。加冕成王,游戲在雙方底界設(shè)計(jì)了加冕線,當(dāng)己方棋子到達(dá)對(duì)方底邊界時(shí),加冕成王,王棋與未成網(wǎng)的棋子區(qū)別在于王棋可以后退。勝負(fù)判斷為兩種情況,當(dāng)一方棋子數(shù)量為零時(shí),判斷為對(duì)方游戲勝利;當(dāng)雙方棋子都無(wú)法移動(dòng)后,由局面評(píng)估給出勝利一方。</p><p><b> 國(guó)內(nèi)外研究狀況</b></p><p> 當(dāng)今,西洋跳棋在流行5000年的歷史之后已經(jīng)被計(jì)算機(jī)完全攻破。多
24、年來(lái),西洋跳棋一直被眾多數(shù)學(xué)家、電腦學(xué)家和英國(guó)跳棋專家研究,取得了非常顯著的成功。早在1989年,喬納森·謝弗(Jonathan Schaeffer)開(kāi)始了西洋跳棋項(xiàng)目的研究,在1994年,謝弗的計(jì)算機(jī)程序已經(jīng)可以擊敗當(dāng)時(shí)人類最頂尖的西洋跳棋大師。在之后的研究中,喬納森·謝弗聯(lián)手艾伯特大學(xué)的學(xué)者共同研究出西洋跳棋程序“奇努克”,被譽(yù)為當(dāng)今世界無(wú)法被戰(zhàn)勝的跳棋程序。</p><p> 自195
25、0年,香儂首次提出國(guó)際象棋解決方案揭開(kāi)機(jī)器博弈發(fā)展序幕之后,諸多計(jì)算機(jī)愛(ài)好者和科學(xué)家在此領(lǐng)域不斷研究,在九十年代初期,計(jì)算機(jī)連續(xù)戰(zhàn)勝很多棋道大師,特別是1997年“深藍(lán)”戰(zhàn)勝世界棋王,人工智能在計(jì)算機(jī)博弈方面取得輝煌的成就。之后的研究中,相繼攻克中國(guó)象棋等眾多棋類。2016年3月谷歌Alpha Go與韓國(guó)與韓國(guó)棋手李世石進(jìn)行的圍棋比賽中計(jì)算機(jī)以4:1戰(zhàn)勝對(duì)手獲得勝利,人工智能在下棋程序又一次重大進(jìn)步。</p><p&
26、gt;<b> 研究?jī)?nèi)容</b></p><p> 西洋跳棋是一款規(guī)則簡(jiǎn)單,易于上手的游戲,由于游戲的特性,可以提高玩家對(duì)全局的把握能力,并且可以提高玩家邏輯思維能力。本次設(shè)計(jì)研究?jī)?nèi)容主要包括以下介個(gè)方面:</p><p> 游戲界面設(shè)計(jì):游戲界面的設(shè)計(jì)風(fēng)格直接影響到玩家對(duì)游戲的興趣,所以游戲界面設(shè)計(jì)在游戲設(shè)計(jì)中起到非常重要的作用,游戲界面設(shè)計(jì)主要為游戲開(kāi)始界面
27、。</p><p> 游戲棋盤(pán)設(shè)計(jì):本游戲棋盤(pán)設(shè)計(jì)為標(biāo)準(zhǔn)西洋跳棋10*10的棋盤(pán)設(shè)計(jì),棋盤(pán)中100個(gè)格子黑白分明落子明確,玩家可以很容易掌握棋盤(pán)。</p><p> 落子設(shè)計(jì):落子設(shè)計(jì)分為玩家落子和電腦落子。玩家落子只需遵從游戲規(guī)則即可,電腦落子采用博弈樹(shù)搜索算法,尋找最優(yōu)落子方案。</p><p> 局面評(píng)估設(shè)計(jì):局面評(píng)估采用分類加權(quán)計(jì)算雙方優(yōu)勢(shì),最終判斷局
28、面勝負(fù)情況。</p><p><b> 課題意義</b></p><p> 目前,市面上棋牌類游戲種類繁多,例如中國(guó)象棋、跳棋等棋類游戲版本眾多,但西洋跳棋游戲卻在棋牌類游戲中特別少見(jiàn),特別是網(wǎng)絡(luò)上玩家可選擇的西洋跳棋游戲制作簡(jiǎn)單,畫(huà)面粗糙,加上許多讓玩家不喜的廣告,很難滿足西洋跳棋愛(ài)好者的興趣。因此需要一款設(shè)計(jì)畫(huà)面精美,走棋風(fēng)格合理的西洋跳棋程序來(lái)滿足西洋跳棋愛(ài)
29、好者的興趣。</p><p> 本設(shè)計(jì)在過(guò)程中注重界面設(shè)計(jì),Qt軟件獨(dú)特的界面設(shè)計(jì)功能在設(shè)計(jì)中可以為玩家設(shè)計(jì)出精美的界面,精美的開(kāi)始界面有利于提高玩家的游戲樂(lè)趣。在游戲設(shè)計(jì)中,略高的電腦走法,使玩家不會(huì)感到枯燥,玩家在下棋過(guò)程中提高自身棋藝的同時(shí),不僅可以起到放松的作用,還可以鍛煉玩家的邏輯思維能力和智力。</p><p> 需求分析及相關(guān)技術(shù)介紹</p><p&g
30、t;<b> 軟件設(shè)計(jì)總體目標(biāo)</b></p><p> 西洋跳棋是一款益智類人機(jī)對(duì)弈棋類游戲。本款軟件主要針對(duì)的用戶為西洋跳棋愛(ài)好者和初學(xué)者玩家,玩家在使用軟件過(guò)程中達(dá)到休閑娛樂(lè),提高棋藝的目的。設(shè)計(jì)目標(biāo):</p><p> 第一,界面設(shè)計(jì)獨(dú)特新穎,輕松自然,可以吸引玩家,使玩家達(dá)到放松的目的;</p><p> 第二,游戲難度適中,
31、電腦走棋算法合理,適合初級(jí)玩家使用,使玩家在使用過(guò)程中可以達(dá)到提高棋藝的目的,但游戲難度不會(huì)過(guò)大,不可以讓玩家使用過(guò)程中因游戲難度過(guò)高感到枯燥。</p><p><b> 系統(tǒng)基本功能</b></p><p> 本軟件使用對(duì)象為游戲玩家,以界面新穎,風(fēng)格獨(dú)特,走棋合理的特點(diǎn)為主,軟件應(yīng)包括游戲開(kāi)始界面,棋盤(pán),棋子,人機(jī)博弈,局面評(píng)估,勝負(fù)判斷等內(nèi)容,設(shè)計(jì)分為五個(gè)模
32、塊:</p><p> 開(kāi)設(shè)界面模塊:用戶進(jìn)入游戲,首先是歡迎界面,既游戲開(kāi)始界面,玩家點(diǎn)擊開(kāi)始游戲按鈕,進(jìn)入游戲。</p><p> 棋盤(pán)設(shè)計(jì):玩家進(jìn)入游戲后,生成初始棋盤(pán),棋盤(pán)為10*10共一百個(gè)格子,棋盤(pán)設(shè)計(jì)格子為黑白兩色分別交錯(cuò)排布,便與玩家區(qū)分,棋子設(shè)計(jì)要求與棋盤(pán)形成對(duì)比色彩,便于玩家操作。</p><p> 人機(jī)對(duì)弈模塊:本模塊為程序設(shè)計(jì)的核心模塊
33、,玩家落子后,電腦根據(jù)搜索算法找到最優(yōu)落子方法,可與玩家進(jìn)行對(duì)弈。</p><p> 下棋規(guī)則模塊:本模塊為西陽(yáng)跳棋程序的基礎(chǔ)模塊,判斷落子地方和吃子情況。</p><p> 勝負(fù)判斷模塊:本模塊的目的是判斷游戲勝負(fù)。</p><p> 以上為游戲軟件主要功能設(shè)計(jì),系統(tǒng)功能模塊如圖2.1所示</p><p><b> 軟件功
34、能模塊圖</b></p><p> 西洋跳棋游戲規(guī)則說(shuō)明</p><p><b> 游戲雙方輪流走棋。</b></p><p> 棋子為成為王棋前,棋子只能向左上角或者右上角且無(wú)人占據(jù)的格子斜走一格。吃子時(shí),敵方的棋子必須在己方棋子的左上角或者右上角的格子,而且該敵方棋子對(duì)應(yīng)的左上角或者右上角必須沒(méi)有棋子。</p>
35、<p> 當(dāng)棋子到了對(duì)方底線,該棋子就可以加冕成王棋,王棋可以向后移動(dòng)。</p><p> 若一個(gè)棋子可以吃棋,則必須吃子。</p><p> 若一方無(wú)法行走或者所有棋子均被吃,則該方算輸。</p><p><b> 相關(guān)技術(shù)介紹</b></p><p> 本軟件利用Qt5.2.0軟件編寫(xiě),編程語(yǔ)
36、言為C++計(jì)算機(jī)編程語(yǔ)言編寫(xiě)。</p><p><b> Qt軟件簡(jiǎn)介</b></p><p> Qt是一個(gè)跨平臺(tái)的C++應(yīng)用程序和圖形界面開(kāi)發(fā)框架。于1991年由奇趣科技研發(fā),2007年之后,Qt跨平臺(tái)開(kāi)發(fā)戰(zhàn)略得以迅速發(fā)展,現(xiàn)在廣泛用于圖形用戶界面程序開(kāi)發(fā)。</p><p><b> Qt的特點(diǎn):</b></
37、p><p> 優(yōu)良的跨平臺(tái)特性:Qt支持多平臺(tái)運(yùn)行,在不同平臺(tái)下無(wú)需修改源代碼便可以生成特有的圖形界面風(fēng)格。</p><p> 面向?qū)ο螅河捎赒t擁有非常良好的封裝機(jī)制,所以,Qt的模塊化程度較高,不同元件之間協(xié)同工作簡(jiǎn)方便。</p><p> 豐富的應(yīng)用程序接口(API):Qt擁有非常多的C++類。</p><p> 除此之外,Qt還擁
38、有大量的開(kāi)發(fā)文檔,支持XML技術(shù)。</p><p> 自Qt4.6之后Qt中引進(jìn)Qt Quick,開(kāi)發(fā)人員與設(shè)計(jì)人員可以協(xié)同創(chuàng)建動(dòng)畫(huà)模式界面和應(yīng)用程序。</p><p> Qt擁有簡(jiǎn)單漂亮的界面,同時(shí)簡(jiǎn)單易學(xué)并且資料豐富,實(shí)用性很強(qiáng)。</p><p><b> C++編程語(yǔ)言介紹</b></p><p> C++
39、編程語(yǔ)言是一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,是由C語(yǔ)言發(fā)展而來(lái)。C++繼承了C語(yǔ)言大部分特點(diǎn),并在C語(yǔ)言的基礎(chǔ)上進(jìn)行了完善,添加了類,C++能夠與C語(yǔ)言相互兼容。</p><p> C++編程語(yǔ)言的優(yōu)勢(shì):</p><p> 在高級(jí)語(yǔ)言中處理運(yùn)行速度最快的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言,目前市面上大多數(shù)游戲軟件都是又C++來(lái)實(shí)現(xiàn)的。</p><p> 語(yǔ)言靈活,功能強(qiáng)大,特別是
40、類層次結(jié)構(gòu)的設(shè)計(jì)。</p><p> C++標(biāo)準(zhǔn)定義細(xì)致,具有嚴(yán)謹(jǐn)、精確的特性,語(yǔ)法思路參差分明,語(yǔ)法結(jié)構(gòu)明確。 </p><p><b> 系統(tǒng)技術(shù)需求</b></p><p> 本程序采用Qt開(kāi)發(fā)環(huán)境,編程語(yǔ)言使用C++編程語(yǔ)言的西洋跳棋游戲。</p><p> 開(kāi)發(fā)環(huán)境:Qt Creator5.2
41、.0</p><p> 運(yùn)行環(huán)境:Windows7 x64 </p><p><b> 系統(tǒng)分析及設(shè)計(jì)</b></p><p> 本章內(nèi)容是在第二章的需求分析的基礎(chǔ)上形成的程序設(shè)計(jì)藍(lán)圖,作為后續(xù)編碼設(shè)計(jì)的依據(jù)。本章主要介紹了西洋跳棋程序開(kāi)發(fā)的總體設(shè)計(jì)。</p><p><b> 系統(tǒng)總體設(shè)計(jì)</b
42、></p><p><b> 模塊化設(shè)計(jì)流程</b></p><p> 根據(jù)需求分析,游戲設(shè)計(jì)需要六大模塊,每個(gè)模塊功能實(shí)現(xiàn)如下:</p><p> 開(kāi)設(shè)界面模塊:設(shè)計(jì)開(kāi)始界面。</p><p> 繪制棋盤(pán)與棋子設(shè)計(jì)設(shè)計(jì)模塊:繪制棋盤(pán),設(shè)計(jì)棋子。</p><p> 人機(jī)對(duì)弈模塊:設(shè)
43、計(jì)算法,實(shí)現(xiàn)人機(jī)對(duì)弈。</p><p> 下棋規(guī)則模塊:根據(jù)規(guī)則判斷落子地方和吃子情況。</p><p> 勝負(fù)判斷模塊:設(shè)計(jì)算法判斷游戲勝負(fù)。</p><p><b> 系統(tǒng)總體構(gòu)成流程</b></p><p> 西洋跳棋博弈軟件構(gòu)成如圖3.1所示</p><p> 西洋跳棋博弈軟件構(gòu)
44、成圖</p><p> 乙方為玩家,甲方為電腦。乙方遵循游戲規(guī)則落子,甲方通過(guò)對(duì)當(dāng)前局面進(jìn)行局面評(píng)估,然后進(jìn)行博弈樹(shù)搜索算法進(jìn)行搜索,形成當(dāng)前最優(yōu)落子,生成走法并落子,甲、乙雙方落子后,當(dāng)前局面在棋盤(pán)顯示,電腦循環(huán)對(duì)棋盤(pán)當(dāng)前局面掃描,經(jīng)當(dāng)前局面反饋給甲方機(jī)器博弈系統(tǒng),甲方重新進(jìn)行局面評(píng)估,生成走法。</p><p><b> 系統(tǒng)算法設(shè)計(jì)概述</b></p&
45、gt;<p> 西洋跳棋人機(jī)對(duì)弈模塊為系統(tǒng)的核心模塊,算法采用極大極小值算法,算法的本質(zhì)思想是:一方總是尋找對(duì)己方最有利的的走法,而另一方總是尋找對(duì)對(duì)方最不利的走法,其搜索樹(shù)如圖3.2所示</p><p> 圖3.2 極大—極小搜索算法樹(shù)</p><p> 根據(jù)算法樹(shù)可知Min節(jié)點(diǎn)總是從其下一層Max中挑選估值最小的節(jié)點(diǎn)進(jìn)行估值,Max節(jié)點(diǎn)剛好相反。在走棋過(guò)程中,遍歷整
46、顆搜索樹(shù),尋找對(duì)己方最有利的走法走子。</p><p><b> 系統(tǒng)特點(diǎn)及功能結(jié)構(gòu)</b></p><p><b> 系統(tǒng)特點(diǎn)</b></p><p> 具有和諧的界面。界面設(shè)計(jì)美觀,簡(jiǎn)潔。</p><p> 具有易操作性。本系統(tǒng)避免過(guò)多按鈕在游戲中給玩家?guī)?lái)的不便,設(shè)計(jì)簡(jiǎn)單,已于操作。&
47、lt;/p><p> 適用于廣大西洋跳棋愛(ài)好者,面向性廣闊。</p><p> 本系統(tǒng)是本地游戲,安全可靠</p><p><b> 功能結(jié)構(gòu)</b></p><p> 通過(guò)上文需求分析和總體設(shè)計(jì),本系統(tǒng)以5個(gè)模塊為目標(biāo)設(shè)計(jì)。其中,下棋規(guī)則模塊為基礎(chǔ),為玩家和電腦落子提供基礎(chǔ)規(guī)則,人機(jī)對(duì)弈模塊為系統(tǒng)核心,本次設(shè)計(jì)采用
48、極大極小人機(jī)博弈搜索算法設(shè)計(jì)了合理的電腦落子算法,繪制棋盤(pán)模塊和勝負(fù)判斷模塊為本次設(shè)計(jì)的前提,為游戲的可行性提供保障,最后是游戲界面設(shè)計(jì),為整體游戲進(jìn)行美化。其具體模塊及主要功能結(jié)構(gòu)圖如圖3.2所示</p><p> 西洋跳棋整體設(shè)計(jì)及主要功能結(jié)構(gòu)圖</p><p><b> 詳細(xì)設(shè)計(jì)</b></p><p> 游戲界面模塊詳細(xì)設(shè)計(jì)<
49、;/p><p> 為了使游戲界面美觀大方,從網(wǎng)絡(luò)上選取圖片,并用美圖秀秀軟件對(duì)所選圖片進(jìn)行美圖修改,利用Qt庫(kù)自帶的paintEvent(QPaintEvent *e)函數(shù)設(shè)計(jì)了游戲開(kāi)始界面,開(kāi)始界面采用綠色圖片作為背景圖片,一方面可以緩解玩家視覺(jué)疲勞,另一方面,背景顏色與開(kāi)始游戲按鈕色彩區(qū)分明確,使整體設(shè)計(jì)達(dá)到簡(jiǎn)單、美觀的效果。游戲界面模塊流程圖如圖4.1所示</p><p>&
50、lt;b> 游戲界面模塊流程圖</b></p><p> 程序運(yùn)行首先進(jìn)入游戲開(kāi)始界面,點(diǎn)擊開(kāi)始游戲按鈕,將進(jìn)入游戲。界面設(shè)計(jì)尺寸長(zhǎng)為10cm,寬為8cm,并在界面中添加“開(kāi)始游戲”按鈕,該按鈕有Qt編程工具中的界面布局工具完成,關(guān)鍵代碼如圖4.2所示</p><p> 界面設(shè)計(jì)模塊開(kāi)始游戲按鈕添加關(guān)鍵程序</p><p> 通過(guò)界面背景設(shè)
51、計(jì)和按鈕添加,開(kāi)始界面模塊設(shè)計(jì)完成,開(kāi)始界面模塊設(shè)計(jì)效果圖如圖4.3所示</p><p><b> 界面設(shè)計(jì)效果圖</b></p><p> 棋盤(pán)設(shè)計(jì)模塊詳細(xì)設(shè)計(jì)</p><p> 該模塊的主要功能是繪制棋盤(pán)和設(shè)計(jì)棋子,棋盤(pán)與棋子分為兩種狀態(tài),一種是初始化狀態(tài),當(dāng)點(diǎn)擊開(kāi)始游戲按鈕后,進(jìn)入游戲,此時(shí),棋盤(pán)顯示為初始化狀態(tài)。初始化狀態(tài)時(shí),甲、
52、乙雙方各持有15枚棋子處于雙方邊界。另一種狀態(tài)是走子或者吃子時(shí),棋盤(pán)中棋子位置發(fā)生改變,甲、乙雙方輪流走子,每次走子之后都將跟新一遍棋盤(pán)。棋盤(pán)繪制與棋子設(shè)計(jì)模塊流程圖如圖4.4所示</p><p> 棋盤(pán)繪制與棋子設(shè)計(jì)模塊</p><p> 棋盤(pán)設(shè)計(jì)包括棋盤(pán)繪制和棋子設(shè)計(jì)在高性能的博弈設(shè)計(jì)中,比特棋盤(pán)應(yīng)用較為廣泛,西洋跳棋智能程序設(shè)計(jì)也采用比特棋盤(pán)設(shè)計(jì)而成。棋盤(pán)設(shè)計(jì)了10*10共100
53、個(gè)格子,其中50個(gè)格子用來(lái)落子,棋盤(pán)設(shè)計(jì)用4個(gè)64位無(wú)符號(hào)整型設(shè)計(jì)而成,如表4.2所示</p><p> 棋子位置與對(duì)應(yīng)比特關(guān)系表</p><p> 由<黑棋,黑王棋,白棋,白王棋>四元素組生成棋盤(pán),棋盤(pán)初始狀態(tài)為<0X0003FFFFC00000,0,0X000000000FFFFF,0>,棋盤(pán)設(shè)計(jì)效果圖如圖4.2所示</p><p>
54、;<b> 棋盤(pán)設(shè)計(jì)效果圖</b></p><p> 人機(jī)博弈模塊設(shè)計(jì)詳細(xì)設(shè)計(jì)</p><p><b> 博弈樹(shù)算法設(shè)計(jì)</b></p><p> 人機(jī)博弈模塊為本次設(shè)計(jì)核心模塊,而博弈樹(shù)算法為本次設(shè)計(jì)核心算法。該模塊設(shè)計(jì)主要目的是完成人機(jī)對(duì)弈過(guò)程。該過(guò)程設(shè)計(jì)核心算法為極大-極小搜索算法,算法的核心思想是,一方總是
55、尋找對(duì)己方最有利的走法,另一方總是尋找對(duì)對(duì)方最不利的走法。在本次設(shè)計(jì)中,設(shè)計(jì)玩家為藍(lán)色方,電腦為紅色方,紅色方為極大方,博弈樹(shù)搜算算法設(shè)計(jì)的核心是紅方通過(guò)搜索算法和局面評(píng)估函數(shù)找到對(duì)自己最有利的走法。計(jì)算機(jī)走棋由函數(shù)computer_go()設(shè)計(jì)完成。</p><p><b> 局面評(píng)估設(shè)計(jì)</b></p><p> 西洋跳棋是零和游戲,局面評(píng)估影響因素眾多,本次
56、設(shè)計(jì)主要對(duì)以下幾個(gè)方面進(jìn)行評(píng)估,分別為棋子和王棋的數(shù)量,處于安全位置的棋子和王棋的數(shù)量(安全位置是指處于底邊或者邊界無(wú)法被對(duì)方吃子的位置),可以移動(dòng)的棋子和王棋數(shù)量,還有防御棋子數(shù)量和進(jìn)攻棋子數(shù)量。估值函數(shù)設(shè)計(jì)思路為:</p><p> 估值方法=電腦棋子數(shù)-選手棋子數(shù)-0.5*威脅棋子數(shù)(可能會(huì)被吃掉的棋子)</p><p> 估值函數(shù)最重要的任務(wù)是找到威脅棋子,在程序中由CalVa
57、lue()函數(shù)設(shè)計(jì)完成。在設(shè)計(jì)中,函數(shù)InThreat()判斷該棋子是否有可能被對(duì)方棋子吃掉,判斷標(biāo)準(zhǔn)是對(duì)該棋子左上、右上、左下、右下分別判斷。函數(shù)InBoard()則判斷棋子當(dāng)前位置是否處于邊界。</p><p><b> 走法生成</b></p><p><b> 普通棋子走法生成</b></p><p> 普通
58、棋子走棋規(guī)則為棋子可沿對(duì)角線對(duì)方方向棋子周邊移動(dòng)一個(gè),移動(dòng)方向的格子為空。遇到吃子時(shí),被吃的棋子周圍有空格才可以吃子,其設(shè)計(jì)流程如下,普通棋子走棋流程圖如圖4.6所示</p><p> 若棋子列表不為空,則從棋子列表中取出一個(gè)棋子;</p><p> 對(duì)該棋子相鄰四個(gè)方向進(jìn)行判斷,若存在對(duì)方棋子且對(duì)方棋子后方格子為空,則將該走法加入走法棧中,否則到第③步;</p><
59、;p> 若走法棧不為空,則從走法棧中取出一個(gè)走法;</p><p> 如果從棋子位置可以繼續(xù)吃子,則按照第②步繼續(xù)走子;</p><p> 否則若當(dāng)前吃子數(shù)量大于最大吃子數(shù)量,則清空吃子走法列表;</p><p> 若當(dāng)前吃子數(shù)量等于最大吃子數(shù)量,則將該走法加入走法列表;</p><p><b> 否則到第③步;&l
60、t;/b></p><p> 若該走法最后一步落在加冕線上,則棋子加冕成王,否則到第①步;</p><p><b> 否則吃子走法終結(jié)</b></p><p> 普通棋子走法生成流程圖</p><p><b> 王棋走法生成</b></p><p> 王棋是由
61、普通棋子到達(dá)加冕線轉(zhuǎn)換而來(lái),因此王棋走法與普通棋子走法有部分相同,王棋走發(fā)生成流程圖如圖4.7所示,王棋走法流程如下,</p><p> 若棋子列表不為空,則從棋子列表中取出一個(gè)棋子;</p><p> 對(duì)該棋子相鄰四個(gè)方向進(jìn)行判斷,若從在對(duì)方棋子且對(duì)方棋子為空,則將該走法加入走法棧中,</p><p> 將后面所有空格子走法加入走法棧中,否則到第④步;<
62、;/p><p> 若走法棧不為空,則從走法棧中取出一個(gè)走法;</p><p> 如果從棋子位置可以繼續(xù)吃子,則按照第②步繼續(xù)走子;</p><p> 否則若當(dāng)前吃子數(shù)量大于最大吃子數(shù)量,則清空吃子走法列表;</p><p> 否則若當(dāng)前吃子數(shù)量等于最大吃子數(shù)量,則將該走法加入走法列表;</p><p><b&
63、gt; 否則到第④步;</b></p><p><b> 否則到第①步;</b></p><p><b> 否則吃子走法終結(jié)</b></p><p><b> 王棋走法生成流程圖</b></p><p> 游戲規(guī)則模塊詳細(xì)設(shè)計(jì)</p><
64、;p> 本模塊主要功能是實(shí)現(xiàn)游戲按照規(guī)則落子,西洋跳棋游戲規(guī)則為,游戲雙方輪流走棋。棋子為成為王棋前,棋子只能向左上角或者右上角且無(wú)人占據(jù)的格子斜走一格。吃子時(shí),敵方的棋子必須在己方棋子的左上角或者右上角的格子,而且該敵方棋子對(duì)應(yīng)的左上角或者右上角必須沒(méi)有棋子。當(dāng)棋子到了對(duì)方底線,該棋子就可以加冕成王棋,王棋可以向后移動(dòng)。若一個(gè)棋子可以吃棋,則必須吃子。若一方無(wú)法行走或者所有棋子均被吃,則該方算輸。游戲規(guī)則在程序中有函數(shù)CanM
65、ove()設(shè)計(jì)完成,普通走子規(guī)則由函數(shù)Computer_Can_Move()生成,普通棋子吃子規(guī)則由函數(shù)Computer_Can_Eat()設(shè)計(jì)完成。代碼if(_piece->GetStatus()!=piece::king) return false;完成了普通棋子不能后退,王棋可以后退的游戲規(guī)則。</p><p> 游戲規(guī)則模塊流程圖如圖4.8所示</p><p><b&
66、gt; 游戲規(guī)則模塊流程</b></p><p> 勝負(fù)判斷模塊詳細(xì)設(shè)計(jì)</p><p> 本模塊設(shè)計(jì)主要是在游戲結(jié)束后判斷玩家和電腦的勝負(fù)情況。勝負(fù)判斷有兩種情況,一種是一方無(wú)法走棋,則該方判定為輸,另一種是一方在棋盤(pán)中棋子數(shù)目為零。勝負(fù)判斷流程圖如下圖4.8所示</p><p><b> 勝負(fù)判斷模塊流程圖</b><
67、;/p><p> 雙方輪流落子之后,每次落子都會(huì)更新棋盤(pán),根據(jù)流程圖設(shè)計(jì),首先由系統(tǒng)判定游戲是否結(jié)束,在程序設(shè)計(jì)中,游戲是否結(jié)束設(shè)計(jì)函數(shù)GameOver()判定,判定標(biāo)準(zhǔn)為一方棋子數(shù)目為零或者無(wú)法走子,判定游戲結(jié)束之后,判定玩家和電腦的贏家。</p><p> 程序中函數(shù)IsHostWin()判定電腦是否取得勝利,玩家勝負(fù)判定由函IsAwayWin()設(shè)計(jì),評(píng)定流程與計(jì)算機(jī)是否勝利流程相同
68、,判定條件為客隊(duì)棋子是否可以移動(dòng),計(jì)算機(jī)判定勝利過(guò)程流程圖如圖4.9所示</p><p> 計(jì)算機(jī)勝負(fù)判定流程圖</p><p><b> 運(yùn)行及調(diào)試</b></p><p><b> 開(kāi)始界面調(diào)試情況</b></p><p> 程序運(yùn)行,進(jìn)入游戲開(kāi)始界面,如圖5.1所示</p>
69、<p><b> 游戲開(kāi)始界面</b></p><p> 運(yùn)行情況說(shuō)明:程序運(yùn)行,進(jìn)入游戲開(kāi)始界面,界面畫(huà)質(zhì)清楚,點(diǎn)擊開(kāi)始游戲按鈕,進(jìn)入游戲良好。</p><p><b> 棋盤(pán)初始化調(diào)試情況</b></p><p> 游戲開(kāi)始,進(jìn)入游戲,此時(shí)棋盤(pán)為初始化狀態(tài),如圖5.2所示</p>&
70、lt;p><b> 棋盤(pán)初始化界面</b></p><p> 運(yùn)行情況說(shuō)明:棋盤(pán)初始化狀態(tài)良好,按照詳細(xì)設(shè)計(jì),棋盤(pán)為10*10共100個(gè)棋格,棋盤(pán)底色為黑白兩色,雙方各15個(gè)棋子排布在雙方底界。棋子與棋盤(pán)顏色分明。</p><p><b> 走棋調(diào)試</b></p><p> 玩家執(zhí)藍(lán)旗現(xiàn)行,電腦后手,走子按
71、照規(guī)則沿斜對(duì)角線方向現(xiàn)行,每次移動(dòng)一個(gè)棋子,可吃子,運(yùn)行結(jié)果如圖5.3,5.4所示</p><p><b> 普通棋子走棋圖</b></p><p><b> 王棋走子運(yùn)行圖</b></p><p> 運(yùn)行情況說(shuō)明:普通棋子走棋良好,遇到可吃棋子自動(dòng)吃子,普通棋子到對(duì)方底線變成王棋,王棋走子狀況良好,測(cè)試表如表5.1
72、所示</p><p><b> 表5.1走棋測(cè)試表</b></p><p><b> 勝負(fù)判斷調(diào)試</b></p><p> 當(dāng)一方棋子為零或一方無(wú)棋可走時(shí),系統(tǒng)判斷勝負(fù)并作出評(píng)斷。</p><p> 一方棋子數(shù)目為零時(shí)系統(tǒng)做出評(píng)判如圖所5.5所示</p><p>
73、 一方棋子數(shù)目為零系統(tǒng)做出勝負(fù)評(píng)判</p><p> 當(dāng)一方無(wú)法走棋時(shí),電腦做出勝負(fù)判斷如圖5.6所示</p><p> 一方無(wú)法走棋時(shí)系統(tǒng)做出勝負(fù)評(píng)判圖</p><p> 運(yùn)行結(jié)果說(shuō)明:當(dāng)一方棋子為零或者無(wú)棋可走時(shí),系統(tǒng)做出勝負(fù)評(píng)判并作出提示,運(yùn)行狀況穩(wěn)定。</p><p><b> 總結(jié)</b></p&
74、gt;<p> 本章主要內(nèi)容是對(duì)西洋跳棋智能程序設(shè)計(jì)的總結(jié)。本次設(shè)計(jì)應(yīng)用C++編程語(yǔ)言,在Qt開(kāi)發(fā)平臺(tái)設(shè)計(jì)編寫(xiě),完成了游戲開(kāi)始界面設(shè)計(jì)、棋盤(pán)繪制、棋子走法生成、勝負(fù)判斷等項(xiàng)目,設(shè)計(jì)完成的西洋跳棋智能程序界面精美,走棋合理,操作簡(jiǎn)單,符合本次設(shè)計(jì)要求。</p><p><b> 項(xiàng)目?jī)?yōu)勢(shì):</b></p><p> 優(yōu)良的游戲界面。與網(wǎng)絡(luò)上流傳的西洋
75、跳棋程序比較,本次設(shè)計(jì)擁有精美的界面設(shè)計(jì),開(kāi)始界面簡(jiǎn)單易用,避免了玩家錯(cuò)誤點(diǎn)擊導(dǎo)致無(wú)法運(yùn)行的難題,同時(shí)棋盤(pán)棋子設(shè)計(jì)風(fēng)格獨(dú)特黑白底色的棋盤(pán)設(shè)計(jì),玩家可以清楚的思考下一步走棋,紅色與藍(lán)色棋子色彩分明,玩家在走棋過(guò)程中能夠清楚看清自己的棋子位置,便于掌控全局。棋盤(pán)與棋子形成強(qiáng)烈的色彩感,可吸引玩家。</p><p> 合理的走棋算法。本次設(shè)計(jì)采用經(jīng)典的極大—極小搜算算法設(shè)計(jì),在設(shè)計(jì)過(guò)程中,難度適中。設(shè)計(jì)中,較高的電腦
76、棋藝水平可以提高玩家的棋藝水平,游戲設(shè)置水平適中,玩家在娛樂(lè)中不會(huì)感到枯燥。</p><p><b> 項(xiàng)目不足:</b></p><p> 游戲設(shè)計(jì)中,注重走棋的設(shè)計(jì),對(duì)娛樂(lè)性設(shè)計(jì)不足,缺少一些音樂(lè)文等娛樂(lè)項(xiàng)目。</p><p> 無(wú)法人人對(duì)戰(zhàn),按照設(shè)計(jì)要求,本次設(shè)計(jì)是人機(jī)對(duì)弈,在設(shè)計(jì)過(guò)程中,沒(méi)有設(shè)計(jì)人人對(duì)弈模式,整體游戲有所欠缺。&l
77、t;/p><p> 本次畢業(yè)設(shè)計(jì)過(guò)程中,出現(xiàn)了很多問(wèn)題,是對(duì)平時(shí)學(xué)習(xí)能力欠缺最直觀的反映,在設(shè)計(jì)中,通過(guò)多方面的學(xué)習(xí),完善了之前學(xué)習(xí)的不足,同時(shí),設(shè)計(jì)中要求的Qt軟件在此之前沒(méi)有使用過(guò),通過(guò)本次設(shè)計(jì),學(xué)會(huì)了使用新的工具。在設(shè)計(jì)中,不僅學(xué)到了許多技術(shù),同時(shí)不斷克服自身不夠嚴(yán)謹(jǐn)?shù)膽B(tài)度,收益良多。</p><p><b> 參考文獻(xiàn)</b></p><p
78、> 譚浩強(qiáng).Java語(yǔ)言程序設(shè)計(jì)(第三版)[M].北京:清華大學(xué)出版社,2008</p><p> 焦尚斌,劉丁.博弈樹(shù)置換表啟發(fā)式算法研究[J].計(jì)算機(jī)工程應(yīng)用,2010(06)</p><p> 王嬌,徐興和.計(jì)算機(jī)博弈:人工智能的前沿領(lǐng)域—全國(guó)大學(xué)生計(jì)算機(jī)博弈大賽[J].計(jì)算機(jī)教育.2012(07)</p><p> 張利群.五道棋計(jì)算機(jī)博弈程序
79、設(shè)計(jì)[J].計(jì)算機(jī)工程.2010(10)</p><p> 李天明.并行計(jì)算機(jī)博弈系統(tǒng)設(shè)計(jì)與改進(jìn)[J].電子制作.2014(21)</p><p> 張穎,李祖樞.棋類計(jì)算機(jī)博弈系統(tǒng)的主要研究方法及在6子棋上的應(yīng)用[J].重慶工學(xué)院學(xué)報(bào)(自然科學(xué)版).2008(09)</p><p> Mustapha Lakrib, Tewfik Sari. Ti
80、me averaging for ordinary differential equations and retarded functional differential equations[J]. Electronic Journal of Differential Equations, 2010, 2010(40,).</p><p> Merrick J. DeWitt, Bradley S.
81、Prall, Robert J. Levis. Orientational averaging in the intense field tunnel ionization of molecules[J]. The Journal of Chemical Physics, 2000, 113(4).</p><p> 李海峰.基于J2EE技術(shù)開(kāi)發(fā)高性能BBS論壇[D].上海:華東師范大學(xué),2
82、006</p><p> 汪輝松,汪雋,杜群,曾貴華.Self-dual Codes Defined on Factor Graphs[J].Journal of Shanghai Jiaotong University.2007(04)</p><p> 趙志宏,李蓓蓓,耿兆豐,徐敏. Imitation of Fabric Flagging Based on Amplit
83、ude Modulation[J]. Journal of Donghua University(English Edition). 2007(06)</p><p> 劉雅靖.計(jì)算機(jī)博弈之六子棋的主要技術(shù)分析[J].電腦知識(shí)與術(shù).2011(10)</p><p> 湯云雄,董從民.計(jì)算機(jī)博弈系統(tǒng)在中國(guó)象棋教學(xué)中的應(yīng)用[J].科技信息.2011(19)</p&
84、gt;<p> 張麗娜.機(jī)器人功能與價(jià)格曲線的博弈[N].消費(fèi)日?qǐng)?bào).2016-05-05 (A02)</p><p> 馬艷紅.手術(shù)機(jī)器人操作規(guī)范化管理“告急”[N].中國(guó)醫(yī)藥報(bào).2016-03-29 (003)</p><p> 梁瑩.廣西首臺(tái)“達(dá)芬奇”手術(shù)機(jī)器人上崗[N].廣西日?qǐng)?bào).2016-04-13 (004)</p><p><b
85、> 致 謝</b></p><p> 在本次畢業(yè)設(shè)計(jì),首先感謝我的知道老師XXX老師。XXX老師具有嚴(yán)肅的科學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),我在她的身上學(xué)到了許多除知識(shí)之外的東西,對(duì)我今后影響意義深遠(yuǎn)。XXX老師在我的本次畢業(yè)設(shè)計(jì)中提供了很大幫助,從選題開(kāi)始,到畢設(shè)中存在問(wèn)題的解決,XXX老師事無(wú)巨細(xì),親力親為的給予我詳細(xì)解答,是我受益良多。由于本人之前態(tài)度懶散,不夠認(rèn)真,XX
86、X老師不厭其煩的提醒我,再跟胡老師的交流中,老師的諄諄教導(dǎo)及老師嚴(yán)謹(jǐn)?shù)目蒲袘B(tài)度,時(shí)刻影響著我,是我克服了許多自身的不足,收獲很大。XXX老師知識(shí)淵博,畢設(shè)中出現(xiàn)了許多問(wèn)題,老師給我的解決意見(jiàn)在設(shè)計(jì)中起到了非常重要的作用。在此,向XXX老師表示衷心的感謝。</p><p> 其次,要感謝在本次畢業(yè)設(shè)計(jì)中幫助過(guò)我的同學(xué)。身邊的同學(xué)在自己時(shí)間很緊的情況下,依舊熱心的幫助我,特別是剛開(kāi)始軟件的安裝過(guò)程中,新軟件的安裝出
87、新了問(wèn)題,在與同學(xué)的探討和同學(xué)的幫助下,最終解決了問(wèn)題。同時(shí),由于本次設(shè)計(jì)的算法難度很大,同學(xué)在我算法的選擇上給了我很重要的意見(jiàn),最后選擇的算法非常合理,使得畢業(yè)設(shè)計(jì)順利進(jìn)行。在此,感謝所有幫助過(guò)我的同學(xué)。</p><p> 最后,感謝學(xué)校,學(xué)院給予我的這次畢業(yè)計(jì)機(jī)會(huì),在本次畢業(yè)設(shè)計(jì)中,我學(xué)到了很多東西,畢業(yè)設(shè)計(jì)過(guò)程中,我深刻感覺(jué)到自己平時(shí)的不足之處,這次畢業(yè)設(shè)計(jì),我不僅對(duì)之前的知識(shí)有了進(jìn)一步的生化,同時(shí)改正了
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c程序設(shè)計(jì)畢業(yè)論文
- java程序設(shè)計(jì)畢業(yè)論文
- 電子時(shí)鐘程序設(shè)計(jì)畢業(yè)論文
- c++程序設(shè)計(jì)課程教學(xué)畢業(yè)論文
- 高校教材征訂系統(tǒng)程序設(shè)計(jì)-畢業(yè)論文
- 測(cè)繪工程測(cè)量平差程序設(shè)計(jì)畢業(yè)論文
- 基于vc手寫(xiě)數(shù)字識(shí)別程序設(shè)計(jì)_畢業(yè)論文設(shè)計(jì)
- 基于vc手寫(xiě)數(shù)字識(shí)別程序設(shè)計(jì)_畢業(yè)論文設(shè)計(jì)
- 畢業(yè)論文---自動(dòng)識(shí)別譜峰的程序設(shè)計(jì)
- 導(dǎo)線平差的程序設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)論文
- 導(dǎo)線平差的程序設(shè)計(jì)與實(shí)現(xiàn)_畢業(yè)論文設(shè)計(jì)
- 畢業(yè)論文--電鑄過(guò)程plc控制程序設(shè)計(jì)
- 畢業(yè)論文--電鑄過(guò)程plc控制程序設(shè)計(jì)
- 畢業(yè)論文--飛輪的數(shù)控加工工藝及程序設(shè)計(jì)
- 自適應(yīng)數(shù)值積分算法及其程序設(shè)計(jì)【畢業(yè)論文】
- 導(dǎo)線平差的程序設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 數(shù)學(xué)專業(yè)畢業(yè)論文--優(yōu)化方法與程序設(shè)計(jì)研究
- 畢業(yè)論文---網(wǎng)絡(luò)遠(yuǎn)程通信與控制程序設(shè)計(jì)
- c++程序設(shè)計(jì)課程教學(xué)探索與實(shí)踐畢業(yè)論文
- 畢業(yè)論文---網(wǎng)絡(luò)遠(yuǎn)程通信與控制程序設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論