【正文】
he three cuttingedge technology. Its central task is to study how to make the puter do that in the past to rely on human intelligence to do. AI is currently regarded as the focus of the developed countries included in this car39。s hightech development projects invested tremendous human and material resources. Manmachine chess puter is one of them. As a human study of an important branch of intelligence, the puter game to test the level of an important aspect of the manual. Its research in artificial intelligence has resulted in many important methods and theories to produce a wide range of social impact and academic impact. Manmachine chess game Renju in one of the puter. To study the puter algorithm, we can see the beginning of artificial intelligence shadow, but also help us to human brain development. Backgammon invented in China, and the research it can allow more foreigners to understand and help to promote China39。s traditional culture. Key words: Artificial Intelligence, Manmachine Cchess Computer, Manmachine Chess, Algorithm; JSP 2022 屆計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)畢業(yè)設(shè)計(jì)(論文) 第 1 頁(yè) 共 47 頁(yè) 1 引言 電腦已經(jīng)深入到日常工作和生活的方方面面,比如文字處理、信息管理、輔助設(shè)計(jì)、圖形圖像處理、教育培訓(xùn)以及游戲娛樂等。 Windows系統(tǒng)的推出使電腦從高雅的學(xué)術(shù)殿堂走入了尋常百姓家,各行各業(yè)的人們無須經(jīng)過特別的訓(xùn)練就能夠使用電腦完成許許多多復(fù)雜的工作。然而,雖然現(xiàn)在世界上已經(jīng)充滿了花樣繁多的各種軟件,但它們依然不能滿足用戶的各種特殊需要,人們還不得不開發(fā)適合自己特殊需求的軟件。 Java語言作為一種面向?qū)ο蟮木幊陶Z言,具有分布式,可移植,高性能,多線程等特點(diǎn)。通過系統(tǒng)的學(xué)習(xí),人們就可以使用它開發(fā)出功 能齊全,滿足特殊需求的應(yīng)用程序。 Java語言易學(xué)易用,對(duì)學(xué)習(xí)者掌握技能,開拓思維都有很大的幫助。 我作為一名學(xué)生,在系統(tǒng)的學(xué)習(xí)了 Java語言之后,經(jīng)常用它搞一些小程序。這次畢業(yè)設(shè)計(jì),正好將學(xué)過的 Java語言中的各種技術(shù)綜合起來,用 myeclipse開發(fā)工具編寫一個(gè)小游戲,既對(duì)自己學(xué)過的技能進(jìn)行一次檢驗(yàn),也能系統(tǒng)地將學(xué)過的知識(shí)復(fù)習(xí)鞏固。 隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)技術(shù)的普及范圍越來越廣,網(wǎng)絡(luò)能夠提供的服務(wù)多樣、便捷,已經(jīng)成為人們生產(chǎn)生活中不可缺少的重要組成部分。如今網(wǎng)絡(luò)休閑游戲發(fā)展迅速,它憑借健康、 方便、互動(dòng)性強(qiáng)、益智等諸多優(yōu)點(diǎn),成為大部分現(xiàn)代人休閑娛樂的首選。 2 五子棋對(duì)弈程序的可行性分析 可行性分析是通過對(duì)項(xiàng)目的主要內(nèi)容和配套條件,如市場(chǎng)需求、資源供應(yīng)、建設(shè)規(guī)模、工藝路線、設(shè)備選型、環(huán)境影響、資金籌措、盈利能力等,從技術(shù)、經(jīng)濟(jì)、工 程等方面進(jìn)行調(diào)查研究和分析比較,并對(duì)項(xiàng)目建成以后可能取得的財(cái)務(wù)、經(jīng)濟(jì)效益及社會(huì)環(huán)境影響進(jìn)行預(yù)測(cè),從而提出該項(xiàng)目是否值得投資和如何進(jìn)行建設(shè)的咨詢意 見,為 項(xiàng)目決策 提供依據(jù)的一種綜合性的 系統(tǒng)分析方法 。 五子棋系統(tǒng)設(shè)計(jì)思路 五子棋系統(tǒng)基本設(shè)計(jì)思路是把系統(tǒng)按照實(shí)現(xiàn)模塊進(jìn)行分解,利用 java進(jìn)行編程。 經(jīng)濟(jì)可行性分析 主要是對(duì)項(xiàng)目的經(jīng)濟(jì)效益進(jìn)行評(píng)價(jià),本系統(tǒng)開發(fā)費(fèi)用對(duì)于學(xué)員在經(jīng)濟(jì)上是可以接受的,并且本系統(tǒng)實(shí)施后可以讓用戶很好的對(duì)五子棋進(jìn)行更加深入的研究,有助于開發(fā)用戶智力。 技術(shù)上的 可行性 技術(shù)上的可行性分析主要技術(shù)條件是否順利完成開發(fā)工作,硬、軟件是否滿足開發(fā)者的需要等。該系統(tǒng)采用的簡(jiǎn)單的二層結(jié)構(gòu),數(shù)據(jù)庫(kù)選用 MySQL,它相對(duì)于其他的數(shù)據(jù)庫(kù)來說 ,安裝簡(jiǎn)單,靈活性、安全性和易用性為數(shù)據(jù)庫(kù)編程提供了良好的條件。因此,系統(tǒng)的軟件開發(fā)平臺(tái)已成熟可行。硬件方面,科技飛速發(fā)展的今天,硬件更新的速度越來越快,容量越來越大,可靠性越來越高,價(jià)格越來越低,棋硬件平臺(tái)完全能滿足此系統(tǒng)的需求。 羅友:基于 Web 的 JAVA 五子棋對(duì)弈程序的設(shè)計(jì)與實(shí)現(xiàn) 第 2 頁(yè) 共 47 頁(yè) 管理上的可行性 主要是管理人員是否支持,現(xiàn)有的管理制度和方法是否科學(xué),規(guī)章制度是否 齊全,原始數(shù)據(jù)是否正確等。規(guī)章制度和管理方法為系統(tǒng)的建設(shè)提供了制度保障。 綜上所述,此系統(tǒng)開發(fā)目標(biāo)已明確,在技術(shù)和經(jīng)濟(jì)等方面都可行,并且投入少、見效快。因此系統(tǒng)的開發(fā)是完全可行的。 3 JAVA 五子棋對(duì)弈現(xiàn) 的需求分析 本系統(tǒng)主要根據(jù)根據(jù)老師提出的要求進(jìn)行的需求分析: 用戶需求分析 根據(jù)老師提出的要求,我們把系統(tǒng)的用戶分為兩類:普通用戶、系統(tǒng)管理員用戶,下面是我們對(duì)兩種用戶的需求進(jìn)行的分析: 普通用戶主要需要: 根據(jù)分析,普通用戶具有的功能: ( 1)用戶登錄:用戶根據(jù)自己的密碼登錄本系統(tǒng)。 ( 2)棋局回放:用戶根據(jù)自己的需求回放自己以前下過的棋局。 ( 3)玩五子棋:用戶在點(diǎn)擊 playgame后會(huì)進(jìn)入游戲界面玩游戲。 ( 4)悔棋功能:在下棋過程中,用戶根據(jù)自己的需求,選擇悔棋。 ( 5)更改密碼:用戶可以根據(jù)自己的需求更改自己的密碼。 系級(jí)管理員主要需 要: 系統(tǒng)管理員是本系統(tǒng)的最高權(quán)限的管理員,他不僅具有普通用戶的各種功能,還具有他獨(dú)有的功能一下是系統(tǒng)管理員所具備的功能: ( 1)用戶登錄:用戶根據(jù)自己的密碼登錄本系統(tǒng)。 ( 2)棋局回放:用戶根據(jù)自己的需求回放自己以前下過的棋局。 ( 3)玩五子棋:用戶在點(diǎn)擊 playgame后會(huì)進(jìn)入游戲界面玩游戲。 ( 4)悔棋功能:在下棋過程中,用戶根據(jù)自己的需求,選擇悔棋。 ( 5)更改密碼:用戶可以根據(jù)自己的需求更改自己的密碼。 ( 6)管理普通用戶:可以對(duì)普通用戶進(jìn)行添加和刪除。 2022 屆計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)畢業(yè)設(shè)計(jì)(論文) 第 3 頁(yè) 共 47 頁(yè) 系統(tǒng)用例圖 : 數(shù)據(jù)字典的描述 數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對(duì)數(shù)據(jù)流圖包含的所有元素的定義的集合。任何字典最重要的用途都是供人查閱對(duì)不了解的條目的解釋,數(shù)據(jù)字典的作用也正是在軟件分析和設(shè)計(jì)的過程中給人提供關(guān)于數(shù)據(jù)的描述信息。 在本系統(tǒng)中涉及到多種數(shù)據(jù)的存儲(chǔ),其中包括用戶信息、用戶每次玩游戲的信息、用戶每盤棋的信息、用戶每步棋的信息。 下面是給出的本系統(tǒng)的數(shù)據(jù)字典描述: 用戶信息表的數(shù)據(jù)字典的描述: 名字:用戶信息表 描述:用戶可以根據(jù)自己的密碼登陸系統(tǒng),系統(tǒng)根據(jù)用戶的信息來判斷用戶的權(quán)限,主要存儲(chǔ)的是用戶用戶信息和用戶權(quán)限。 定義:用戶名 +用戶密碼 +用戶權(quán)限 位置:數(shù)據(jù)庫(kù)用戶信息表( UserInfo) 描述:用與儲(chǔ)存用戶信息,其中有用戶名,當(dāng)用戶登錄后會(huì)在用戶首頁(yè)上顯示。用戶密碼用于登錄本系統(tǒng),用戶權(quán)限是整數(shù), 1代表普通用戶,既可以通過注冊(cè)的用戶; 0 代表系統(tǒng)用戶,是系統(tǒng)自帶的不可以通過注冊(cè)獲得。 圖 313 系統(tǒng)用例圖 羅友:基于 Web 的 JAVA 五子棋對(duì)弈程序的設(shè)計(jì)與實(shí)現(xiàn) 第 4 頁(yè) 共 47 頁(yè) 用戶每次游戲信息表的數(shù)據(jù)字典描述: 用戶每盤棋信息表的數(shù)據(jù)字典描述: 用戶每步棋信息表的數(shù)據(jù)字典描述: 五子棋對(duì)弈系統(tǒng)的數(shù)據(jù)流圖 數(shù)據(jù)流圖 ( Data Flow Diagram):簡(jiǎn)稱 DFD,它從數(shù)據(jù)傳遞和加工角度,以圖形方式來表達(dá)系統(tǒng)的邏輯功能、數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過程,是 結(jié)構(gòu)化系統(tǒng)分析方法 的主要表達(dá)工具及用于表示 軟件 模型的一種圖示方法。 下面 簡(jiǎn)要介紹部分需求的數(shù)據(jù)流圖: 名字:用戶每盤棋信息表 描述:用于記錄用戶每盤棋棋盤的信息。 定義:用戶該盤局編號(hào) +棋盤上棋子的 X 軸坐標(biāo) +棋盤上棋子的 Y 軸坐標(biāo) +該坐標(biāo)上棋子狀態(tài) 位置:數(shù)據(jù)庫(kù)用戶每盤棋信息表( UserQipan) 名字:用戶每步棋信息表 描述:用于記錄用戶每步的信息。 定義:用戶該盤棋的編號(hào) +用戶該步棋的編號(hào) +該步棋電腦下棋的 Y軸坐標(biāo) +該步棋電腦下棋的 X 軸坐標(biāo) +該步棋用戶下棋的 Y 軸坐標(biāo) +該步棋用戶下棋的 X 軸坐標(biāo) 位置:數(shù)據(jù)庫(kù)用戶每盤棋信息表( UserStep) 描述:這個(gè)表主要用于記錄用戶玩游戲的時(shí)間,用戶棋盤編號(hào)是數(shù)據(jù)庫(kù)自動(dòng)生成的,游戲時(shí)間主要用于用戶要回放棋局的查找。 名字:用戶每次游戲信息表 描述:用于記錄用戶每次玩游戲的信息 。 定義:用戶名 +用戶該盤局的編號(hào) +游戲時(shí)間 位置:數(shù)據(jù)庫(kù)用戶每次游戲信息表( UserDish) 描述:該表用戶儲(chǔ)存棋局信息,主要用于電腦下棋時(shí)通過棋局編號(hào)提取數(shù)據(jù),從而計(jì)算出電腦該下哪一步棋,其中棋子狀態(tài)分為 4 種, 1表示該點(diǎn)不在棋盤上, 0 表示該坐標(biāo)無棋子, 1 表示白棋 2 表示黑棋 描述:該表主要儲(chǔ)存用戶和電腦下的每一步棋,用戶與棋盤回放時(shí)在數(shù)據(jù)庫(kù)提取數(shù)據(jù) 2022 屆計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)畢業(yè)設(shè)計(jì)(論文) 第 5 頁(yè) 共 47 頁(yè) 用戶登錄數(shù)據(jù)流圖( DFD) 在用戶登錄過程當(dāng)中,用戶輸入的信息經(jīng)過加工處理后,通過對(duì)數(shù)據(jù)庫(kù)的查詢后返回給程序該用戶的權(quán)限,數(shù)據(jù)流圖( 圖 31)如下: 普通用戶界面顯示數(shù)據(jù)流圖( DFD) 知道用戶權(quán)限后,通過查詢用戶游戲信息,顯示用戶游戲信息。數(shù)據(jù)流圖( 圖 32)如下: 用戶 接受權(quán)限信息 處理信息 用戶每次游戲信息( UserDish) 產(chǎn)生結(jié)果 用戶 權(quán)限 查詢信息 游戲信息 游戲信息 圖 32 普通用戶數(shù)據(jù)顯示數(shù)據(jù)流圖 用戶 接受用戶信息 處 理信 息 輸入信息 查詢信息 用戶信息表( UserInfo) 用戶 產(chǎn)生查詢結(jié)果 權(quán)限信息 權(quán)限信息 圖 31 用戶登錄數(shù)據(jù)流圖 羅友:基于 Web 的 JAVA 五子棋對(duì)弈程序的設(shè)計(jì)與實(shí)現(xiàn) 第 6 頁(yè) 共 47 頁(yè) 管理員用戶界面顯示數(shù)據(jù)流圖( DFD) 知道用戶權(quán)限后,通過查詢用戶游戲信息和所有普通用戶信 息,顯示用戶游戲信息。數(shù)據(jù)流圖( 圖 33)如下 用戶棋局回放數(shù)據(jù)流圖( DFD) 知道用戶權(quán)限后,通過查詢用戶游戲信息和所有普通用戶信息,顯示用戶游戲信息。數(shù)據(jù)流圖( 圖 34)如下: 用戶 接受 數(shù)據(jù) 處 理信息 用戶該盤棋該步棋信息( UserStep) 產(chǎn)生結(jié)果 用戶 數(shù)據(jù) 查詢信息 游戲信息 游戲信息 用戶 接受權(quán)限信息 處理信息 用戶每次游戲信息( UserDish) 產(chǎn)生結(jié)果 用戶 權(quán)限 查詢信息 游戲信息 游戲信息 用戶信息表( UserInfo) 圖 33 管理員用戶數(shù)據(jù)顯示數(shù)據(jù)流圖 圖 34 用戶棋局回放數(shù)據(jù)流圖 2022 屆計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)畢業(yè)設(shè)計(jì)(論文) 第 7 頁(yè) 共 47 頁(yè) 4 JAVA 五子棋對(duì)弈系統(tǒng)分析與設(shè)計(jì) 此系統(tǒng)為智力游戲,適合于各類游戲愛好者。由于其經(jīng)典性及其游戲的簡(jiǎn)單性,各類人士都可以也都愛玩。人們?cè)谂c電腦對(duì)戰(zhàn)享受娛樂的同時(shí),也會(huì)體會(huì)到自己的智力也會(huì)有所提升 。 該款五子棋游戲功能雖然簡(jiǎn)單,但實(shí)現(xiàn)了人機(jī),所以從這個(gè)角度來說,該款游戲需要電腦能準(zhǔn)確的計(jì)算棋局。雖然系統(tǒng)不大,但要在滿足玩家的基本要求的情況下,電腦有一定的智能,能給于新手一定的幫助。 系統(tǒng)設(shè)計(jì)總體思想、目標(biāo) 本系統(tǒng)在結(jié)構(gòu)設(shè)計(jì)中采用 java的 MVC模式,根據(jù)不同的功能劃分不同的模塊,該款五子棋游戲功能雖然簡(jiǎn)單,但實(shí)現(xiàn)了人機(jī),所以從這個(gè)角度來說,該款游戲需要電腦能準(zhǔn)確的計(jì)算棋局。雖然系統(tǒng)不大,但要在滿足玩家的基本要求的情況下,電腦有一定的