




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、重慶三峽學院畢業(yè)設計(論文)題目:JAVA五子棋對弈程序的設計與實現(xiàn) 畢業(yè)設計(論文)原創(chuàng)性聲明和使用授權說明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設計(論文),是我個人在指導教師的指導下進行的研究工作及取得的成果。盡我所知,除文中特別加以標注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,也不包含我為獲得 及其它教育機構的學位或學歷而使用過的材料。對本研究提供過幫助和做出過貢獻的個人或集體,均已在文中作了明確的說明并表示了謝意。作 者 簽 名: 日 期: 指導教師簽名: 日期: 使用授權說明本人完全了解 大學關于收集、保存、使用畢業(yè)設計(論文)的規(guī)定,即:按照學校要求提交畢業(yè)設計
2、(論文)的印刷本和電子版本;學校有權保存畢業(yè)設計(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務;學??梢圆捎糜坝 ⒖s印、數(shù)字化或其它復制手段保存論文;在不以贏利為目的前提下,學??梢怨颊撐牡牟糠只蛉績热?。作者簽名: 日 期: 學位論文原創(chuàng)性聲明本人鄭重聲明:所呈交的論文是本人在導師的指導下獨立進行研究所取得的研究成果。除了文中特別加以標注引用的內容外,本論文不包含任何其他個人或集體已經(jīng)發(fā)表或撰寫的成果作品。對本文的研究做出重要貢獻的個人和集體,均已在文中以明確方式標明。本人完全意識到本聲明的法律后果由本人承擔。作者簽名: 日期: 年 月 日學位論文版權使用授權書本學位論文作者完全了解學
3、校有關保留、使用學位論文的規(guī)定,同意學校保留并向國家有關部門或機構送交論文的復印件和電子版,允許論文被查閱和借閱。本人授權 大學可以將本學位論文的全部或部分內容編入有關數(shù)據(jù)庫進行檢索,可以采用影印、縮印或掃描等復制手段保存和匯編本學位論文。涉密論文按學校規(guī)定處理。作者簽名:日期: 年 月 日導師簽名: 日期: 年 月 日指導教師評閱書指導教師評價:一、撰寫(設計)過程1、學生在論文(設計)過程中的治學態(tài)度、工作精神 優(yōu) 良 中 及格 不及格2、學生掌握專業(yè)知識、技能的扎實程度 優(yōu) 良 中 及格 不及格3、學生綜合運用所學知識和專業(yè)技能分析和解決問題的能力 優(yōu) 良 中 及格 不及格4、研究方法的
4、科學性;技術線路的可行性;設計方案的合理性 優(yōu) 良 中 及格 不及格5、完成畢業(yè)論文(設計)期間的出勤情況 優(yōu) 良 中 及格 不及格二、論文(設計)質量1、論文(設計)的整體結構是否符合撰寫規(guī)范? 優(yōu) 良 中 及格 不及格2、是否完成指定的論文(設計)任務(包括裝訂及附件)? 優(yōu) 良 中 及格 不及格三、論文(設計)水平1、論文(設計)的理論意義或對解決實際問題的指導意義 優(yōu) 良 中 及格 不及格2、論文的觀念是否有新意?設計是否有創(chuàng)意? 優(yōu) 良 中 及格 不及格3、論文(設計說明書)所體現(xiàn)的整體水平 優(yōu) 良 中 及格 不及格建議成績: 優(yōu) 良 中 及格 不及格(在所選等級前的內畫“”)指導教
5、師: (簽名) 單位: (蓋章)年 月 日評閱教師評閱書評閱教師評價:一、論文(設計)質量1、論文(設計)的整體結構是否符合撰寫規(guī)范? 優(yōu) 良 中 及格 不及格2、是否完成指定的論文(設計)任務(包括裝訂及附件)? 優(yōu) 良 中 及格 不及格二、論文(設計)水平1、論文(設計)的理論意義或對解決實際問題的指導意義 優(yōu) 良 中 及格 不及格2、論文的觀念是否有新意?設計是否有創(chuàng)意? 優(yōu) 良 中 及格 不及格3、論文(設計說明書)所體現(xiàn)的整體水平 優(yōu) 良 中 及格 不及格建議成績: 優(yōu) 良 中 及格 不及格(在所選等級前的內畫“”)評閱教師: (簽名) 單位: (蓋章)年 月 日 教研室(或答辯小組
6、)及教學系意見教研室(或答辯小組)評價:一、答辯過程1、畢業(yè)論文(設計)的基本要點和見解的敘述情況 優(yōu) 良 中 及格 不及格2、對答辯問題的反應、理解、表達情況 優(yōu) 良 中 及格 不及格3、學生答辯過程中的精神狀態(tài) 優(yōu) 良 中 及格 不及格二、論文(設計)質量1、論文(設計)的整體結構是否符合撰寫規(guī)范? 優(yōu) 良 中 及格 不及格2、是否完成指定的論文(設計)任務(包括裝訂及附件)? 優(yōu) 良 中 及格 不及格三、論文(設計)水平1、論文(設計)的理論意義或對解決實際問題的指導意義 優(yōu) 良 中 及格 不及格2、論文的觀念是否有新意?設計是否有創(chuàng)意? 優(yōu) 良 中 及格 不及格3、論文(設計說明書)所
7、體現(xiàn)的整體水平 優(yōu) 良 中 及格 不及格評定成績: 優(yōu) 良 中 及格 不及格(在所選等級前的內畫“”)教研室主任(或答辯小組組長): (簽名)年 月 日教學系意見:系主任: (簽名)年 月 日目 錄 TOC o 1-3 h z u HYPERLINK l _Toc324424557 摘要 PAGEREF _Toc324424557 h I HYPERLINK l _Toc324424558 Abstract PAGEREF _Toc324424558 h II HYPERLINK l _Toc324424559 1 引言 PAGEREF _Toc324424559 h 1 HYPERLINK
8、l _Toc324424560 2五子棋對弈程序的可行性分析 PAGEREF _Toc324424560 h 1 HYPERLINK l _Toc324424561 2.1 五子棋系統(tǒng)設計思路 PAGEREF _Toc324424561 h 1 HYPERLINK l _Toc324424562 2.2 經(jīng)濟可行性分析 PAGEREF _Toc324424562 h 1 HYPERLINK l _Toc324424563 2.3技術上的可行性 PAGEREF _Toc324424563 h 1 HYPERLINK l _Toc324424564 2.4 管理上的可行性 PAGEREF _Toc
9、324424564 h 2 HYPERLINK l _Toc324424565 3 JAVA五子棋對弈現(xiàn)的需求分析 PAGEREF _Toc324424565 h 2 HYPERLINK l _Toc324424566 3.1 用戶需求分析 PAGEREF _Toc324424566 h 2 HYPERLINK l _Toc324424567 普通用戶主要需要: PAGEREF _Toc324424567 h 2 HYPERLINK l _Toc324424568 系級管理員主要需要: PAGEREF _Toc324424568 h 2 HYPERLINK l _Toc324424569 系統(tǒng)
10、用例圖: PAGEREF _Toc324424569 h 3 HYPERLINK l _Toc324424570 3.2 數(shù)據(jù)字典的描述 PAGEREF _Toc324424570 h 3 HYPERLINK l _Toc324424571 用戶信息表的數(shù)據(jù)字典的描述: PAGEREF _Toc324424571 h 3 HYPERLINK l _Toc324424572 用戶每次游戲信息表的數(shù)據(jù)字典描述: PAGEREF _Toc324424572 h 4 HYPERLINK l _Toc324424573 用戶每盤棋信息表的數(shù)據(jù)字典描述: PAGEREF _Toc324424573 h 4
11、 HYPERLINK l _Toc324424574 用戶每步棋信息表的數(shù)據(jù)字典描述: PAGEREF _Toc324424574 h 4 HYPERLINK l _Toc324424575 3.3五子棋對弈系統(tǒng)的數(shù)據(jù)流圖 PAGEREF _Toc324424575 h 4 HYPERLINK l _Toc324424576 用戶登錄數(shù)據(jù)流圖(DFD) PAGEREF _Toc324424576 h 5 HYPERLINK l _Toc324424577 普通用戶界面顯示數(shù)據(jù)流圖(DFD) PAGEREF _Toc324424577 h 5 HYPERLINK l _Toc324424578
12、管理員用戶界面顯示數(shù)據(jù)流圖(DFD) PAGEREF _Toc324424578 h 6 HYPERLINK l _Toc324424579 用戶棋局回放數(shù)據(jù)流圖(DFD) PAGEREF _Toc324424579 h 6 HYPERLINK l _Toc324424580 4 JAVA五子棋對弈系統(tǒng)分析與設計 PAGEREF _Toc324424580 h 7 HYPERLINK l _Toc324424581 4.1 系統(tǒng)設計總體思想、目標 PAGEREF _Toc324424581 h 7 HYPERLINK l _Toc324424582 4.2 五子棋人機對弈系統(tǒng)的ER模型 PAG
13、EREF _Toc324424582 h 7 HYPERLINK l _Toc324424583 4.3 JAVA五子棋對弈系統(tǒng)結構、功能設計 PAGEREF _Toc324424583 h 9 HYPERLINK l _Toc324424584 系統(tǒng)結構設計 PAGEREF _Toc324424584 h 9 HYPERLINK l _Toc324424585 系統(tǒng)功能模塊設計 PAGEREF _Toc324424585 h 10 HYPERLINK l _Toc324424586 設計思路 PAGEREF _Toc324424586 h 11 HYPERLINK l _Toc3244245
14、87 4.4 程序設計分析 PAGEREF _Toc324424587 h 11 HYPERLINK l _Toc324424588 4.5 類的設計 PAGEREF _Toc324424588 h 12 HYPERLINK l _Toc324424589 4.6五子棋對弈系統(tǒng)的數(shù)據(jù)庫設計 PAGEREF _Toc324424589 h 15 HYPERLINK l _Toc324424590 系統(tǒng)用戶表 PAGEREF _Toc324424590 h 15 HYPERLINK l _Toc324424591 用戶棋局表 PAGEREF _Toc324424591 h 16 HYPERLINK
15、 l _Toc324424592 用戶棋盤表 PAGEREF _Toc324424592 h 16 HYPERLINK l _Toc324424593 用戶下棋信息表 PAGEREF _Toc324424593 h 17 HYPERLINK l _Toc324424594 5五子棋相關基礎 PAGEREF _Toc324424594 h 17 HYPERLINK l _Toc324424595 5.1 五子棋相關解釋 PAGEREF _Toc324424595 h 17 HYPERLINK l _Toc324424596 5.2 五子棋相關規(guī)則 PAGEREF _Toc324424596 h
16、17 HYPERLINK l _Toc324424597 5.3 五子棋常用術語 PAGEREF _Toc324424597 h 18 HYPERLINK l _Toc324424598 6 系統(tǒng)平臺、計算模式及技術 PAGEREF _Toc324424598 h 19 HYPERLINK l _Toc324424599 6.1 計算模式的進化及本系統(tǒng)選用的模式優(yōu)越性 PAGEREF _Toc324424599 h 19 HYPERLINK l _Toc324424600 集中式管理主機/終端模式 PAGEREF _Toc324424600 h 19 HYPERLINK l _Toc32442
17、4601 模式 PAGEREF _Toc324424601 h 19 HYPERLINK l _Toc324424602 模式 PAGEREF _Toc324424602 h 20 HYPERLINK l _Toc324424603 系統(tǒng)采用B/S三層體系結構模式的優(yōu)越性 PAGEREF _Toc324424603 h 20 HYPERLINK l _Toc324424604 6.2 JSP技術 PAGEREF _Toc324424604 h 21 HYPERLINK l _Toc324424605 簡介 PAGEREF _Toc324424605 h 21 HYPERLINK l _Toc3
18、24424606 內建對象 PAGEREF _Toc324424606 h 22 HYPERLINK l _Toc324424607 6.3 MVC設計模式 PAGEREF _Toc324424607 h 23 HYPERLINK l _Toc324424608 6.4 Servlet PAGEREF _Toc324424608 h 23 HYPERLINK l _Toc324424609 簡介 PAGEREF _Toc324424609 h 23 HYPERLINK l _Toc324424610 優(yōu)勢 PAGEREF _Toc324424610 h 24 HYPERLINK l _Toc3
19、24424611 6.5 MYSQL 數(shù)據(jù)庫 PAGEREF _Toc324424611 h 25 HYPERLINK l _Toc324424612 概述 PAGEREF _Toc324424612 h 25 HYPERLINK l _Toc324424613 優(yōu)勢 PAGEREF _Toc324424613 h 25 HYPERLINK l _Toc324424614 6.6 TomCat服務器工具概述 PAGEREF _Toc324424614 h 26 HYPERLINK l _Toc324424615 6.7 環(huán)境的安裝 PAGEREF _Toc324424615 h 26 HYPE
20、RLINK l _Toc324424616 7 系統(tǒng)實現(xiàn) PAGEREF _Toc324424616 h 27 HYPERLINK l _Toc324424617 7.1 用戶登陸流程 PAGEREF _Toc324424617 h 27 HYPERLINK l _Toc324424618 7.2 用戶進入游戲(初始化數(shù)據(jù)庫棋盤)流程 PAGEREF _Toc324424618 h 28 HYPERLINK l _Toc324424619 7.3 用戶玩游戲流程 PAGEREF _Toc324424619 h 29 HYPERLINK l _Toc324424620 7.4添加新用戶 PAGE
21、REF _Toc324424620 h 30 HYPERLINK l _Toc324424621 8 JAVA五子棋對弈程序設計的技術關鍵 PAGEREF _Toc324424621 h 30 HYPERLINK l _Toc324424622 8.1 javascript中 AJAX技術 PAGEREF _Toc324424622 h 30 HYPERLINK l _Toc324424623 8.2 電腦下棋算法設計 PAGEREF _Toc324424623 h 32 HYPERLINK l _Toc324424624 9 系統(tǒng)試運行結果與評價 PAGEREF _Toc324424624
22、h 41 HYPERLINK l _Toc324424625 10 結束語 PAGEREF _Toc324424625 h 41 HYPERLINK l _Toc324424626 致 謝 PAGEREF _Toc324424626 h 41 HYPERLINK l _Toc324424627 參考文獻 PAGEREF _Toc324424627 h 41 HYPERLINK l _Toc324424628 附件1: PAGEREF _Toc324424628 h 42 HYPERLINK l _Toc324424629 附件2: PAGEREF _Toc324424629 h 43 HYPE
23、RLINK l _Toc324424630 附件3: PAGEREF _Toc324424630 h 44 HYPERLINK l _Toc324424631 附件3: PAGEREF _Toc324424631 h 46 99級信息與計算科學畢業(yè)論文 PAGE II第 PAGE 49頁 共47 頁 PAGE I基于Web的JAVA五子棋對弈程序的設計與實現(xiàn)羅友(重慶三峽學院計算機科學與工程學院計算機科學與技術專業(yè)2008級 重慶萬州 404000)摘要:人工智能是一門正在迅速發(fā)展的新興的,綜合性很強的交叉科學。它與生物工程、空間技術一起被并列為二十一世界三大尖端技術。它的中心任務是研究如何使
24、計算機去做那些過去只能靠人的智力才能做的工作。目前各發(fā)達國家都把人工智能作為重點項目,列入本國的高科技發(fā)展計劃當中,投入巨大的人力和物力。計算機人機對弈也是其中之一。作為人智能研究的一個重要分支,計算機博弈是檢驗人工水平的一個重要方面。它的研究為人工智能帶來了很多重要的方法和理論,產(chǎn)生了廣泛的社會影響和學術影響。五子棋人機對弈是計算機博弈中的一種。研究其計算機算法,可以讓我們看到人工智能的稚形,也有助于我們人腦的開發(fā)。五子棋是我國發(fā)明的,研究它可以讓更多的外國人了解五子棋,這有助于我國優(yōu)秀文化的推廣。關鍵詞: 人工智能; 計算人機對弈;五子棋;JSPJAVA renju play chess
25、program design and implementation Based on WebLuoyou (Grade 2008, Computer Science and Technology, School of Computer Science and Engineering, Chongqing Three Gorges University, Wanzhou, Chongqing 404000 )Abstract:Artificial intelligence is a rapidly developing new, integrated a strong Frontier Scie
26、nce. It is with bio-engineering, space technology has been listed as 21 in the world along with the three cutting-edge technology. Its central task is to study how to make the computer do that in the past to rely on human intelligence to do. AI is currently regarded as the focus of the developed cou
27、ntries included in this cars high-tech development projects invested tremendous human and material resources. Man-machine chess computer is one of them. As a human study of an important branch of intelligence, the computer game to test the level of an important aspect of the manual. Its research in
28、artificial intelligence has resulted in many important methods and theories to produce a wide range of social impact and academic impact. Man-machine chess game Renju in one of the computer. To study the computer algorithm, we can see the beginning of artificial intelligence shadow, but also help us
29、 to human brain development. Backgammon invented in China, and the research it can allow more foreigners to understand and help to promote Chinas traditional culture.Key words: Artificial Intelligence, Man-machine Cchess Computer, Man-machine Chess, Algorithm; JSP基于Web的 HYPERLINK :/ /thesis/Student_
30、Showthesisdetails.aspx?id=1256 t _blank JAVA五子棋對弈程序的設計與實現(xiàn)2012屆計算機科學與技術專業(yè)畢業(yè)設計(論文)第 PAGE 50頁 共47頁2010屆信息與計算科學專業(yè)畢業(yè)設計(論文)第 PAGE 1 頁 共 30 頁1 引言 電腦已經(jīng)深入到日常工作和生活的方方面面,比如文字處理、信息管理、輔助設計、圖形圖像處理、教育培訓以及游戲娛樂等。Windows系統(tǒng)的推出使電腦從高雅的學術殿堂走入了尋常百姓家,各行各業(yè)的人們無須經(jīng)過特別的訓練就能夠使用電腦完成許許多多復雜的工作。然而,雖然現(xiàn)在世界上已經(jīng)充滿了花樣繁多的各種軟件,但它們依然不能滿足用戶的各
31、種特殊需要,人們還不得不開發(fā)適合自己特殊需求的軟件。Java語言作為一種面向對象的編程語言,具有分布式,可移植,高性能,多線程等特點。通過系統(tǒng)的學習,人們就可以使用它開發(fā)出功能齊全,滿足特殊需求的應用程序。Java語言易學易用,對學習者掌握技能,開拓思維都有很大的幫助。 我作為一名學生,在系統(tǒng)的學習了Java語言之后,經(jīng)常用它搞一些小程序。這次畢業(yè)設計,正好將學過的Java語言中的各種技術綜合起來,用myeclipse開發(fā)工具編寫一個小游戲,既對自己學過的技能進行一次檢驗,也能系統(tǒng)地將學過的知識復習鞏固。隨著計算機技術的不斷發(fā)展,網(wǎng)絡技術的普及范圍越來越廣,網(wǎng)絡能夠提供的服務多樣、便捷,已經(jīng)成
32、為人們生產(chǎn)生活中不可缺少的重要組成部分。如今網(wǎng)絡休閑游戲發(fā)展迅速,它憑借健康、方便、互動性強、益智等諸多優(yōu)點,成為大部分現(xiàn)代人休閑娛樂的首選。2五子棋對弈程序的可行性分析 可行性分析是通過對項目的主要內容和配套條件,如市場需求、資源供應、建設規(guī)模、工藝路線、設備選型、環(huán)境影響、資金籌措、盈利能力等,從技術、經(jīng)濟、工 程等方面進行調查研究和分析比較,并對項目建成以后可能取得的財務、經(jīng)濟效益及社會環(huán)境影響進行預測,從而提出該項目是否值得投資和如何進行建設的咨詢意 見,為11.htm t _blank 項目決策提供依據(jù)的一種綜合性的系統(tǒng)分析方法。 2.1 五子棋系統(tǒng)設計思路 五子棋系統(tǒng)基本設計思路是
33、把系統(tǒng)按照實現(xiàn)模塊進行分解,利用java進行編程。2.2 經(jīng)濟可行性分析主要是對項目的經(jīng)濟效益進行評價,本系統(tǒng)開發(fā)費用對于學員在經(jīng)濟上是可以接受的,并且本系統(tǒng)實施后可以讓用戶很好的對五子棋進行更加深入的研究,有助于開發(fā)用戶智力。2.3技術上的可行性 技術上的可行性分析主要技術條件是否順利完成開發(fā)工作,硬、軟件是否滿足開發(fā)者的需要等。該系統(tǒng)采用的簡單的二層結構,數(shù)據(jù)庫選用MySQL,它相對于其他的數(shù)據(jù)庫來說,安裝簡單,靈活性、安全性和易用性為數(shù)據(jù)庫編程提供了良好的條件。因此,系統(tǒng)的軟件開發(fā)平臺已成熟可行。硬件方面,科技飛速發(fā)展的今天,硬件更新的速度越來越快,容量越來越大,可靠性越來越高,價格越來
34、越低,棋硬件平臺完全能滿足此系統(tǒng)的需求。2.4 管理上的可行性 主要是管理人員是否支持,現(xiàn)有的管理制度和方法是否科學,規(guī)章制度是否齊全,原始數(shù)據(jù)是否正確等。規(guī)章制度和管理方法為系統(tǒng)的建設提供了制度保障。 綜上所述,此系統(tǒng)開發(fā)目標已明確,在技術和經(jīng)濟等方面都可行,并且投入少、見效快。因此系統(tǒng)的開發(fā)是完全可行的。3 JAVA五子棋對弈現(xiàn)的需求分析 本系統(tǒng)主要根據(jù)根據(jù)老師提出的要求進行的需求分析:3.1 用戶需求分析 根據(jù)老師提出的要求,我們把系統(tǒng)的用戶分為兩類:普通用戶、系統(tǒng)管理員用戶,下面是我們對兩種用戶的需求進行的分析:3.1.1 普通用戶主要需要: 根據(jù)分析,普通用戶具有的功能:(1)用戶登
35、錄:用戶根據(jù)自己的密碼登錄本系統(tǒng)。(2)棋局回放:用戶根據(jù)自己的需求回放自己以前下過的棋局。(3)玩五子棋:用戶在點擊playgame后會進入游戲界面玩游戲。(4)悔棋功能:在下棋過程中,用戶根據(jù)自己的需求,選擇悔棋。(5)更改密碼:用戶可以根據(jù)自己的需求更改自己的密碼。3.1.2 系級管理員主要需要:系統(tǒng)管理員是本系統(tǒng)的最高權限的管理員,他不僅具有普通用戶的各種功能,還具有他獨有的功能一下是系統(tǒng)管理員所具備的功能:(1)用戶登錄:用戶根據(jù)自己的密碼登錄本系統(tǒng)。(2)棋局回放:用戶根據(jù)自己的需求回放自己以前下過的棋局。(3)玩五子棋:用戶在點擊playgame后會進入游戲界面玩游戲。(4)悔棋
36、功能:在下棋過程中,用戶根據(jù)自己的需求,選擇悔棋。(5)更改密碼:用戶可以根據(jù)自己的需求更改自己的密碼。 (6)管理普通用戶:可以對普通用戶進行添加和刪除。 系統(tǒng)用例圖:圖3-1-3 系統(tǒng)用例圖3.2 數(shù)據(jù)字典的描述數(shù)據(jù)字典是關于數(shù)據(jù)的信息的集合,也就是對數(shù)據(jù)流圖包含的所有元素的定義的集合。任何字典最重要的用途都是供人查閱對不了解的條目的解釋,數(shù)據(jù)字典的作用也正是在軟件分析和設計的過程中給人提供關于數(shù)據(jù)的描述信息。在本系統(tǒng)中涉及到多種數(shù)據(jù)的存儲,其中包括用戶信息、用戶每次玩游戲的信息、用戶每盤棋的信息、用戶每步棋的信息。下面是給出的本系統(tǒng)的數(shù)據(jù)字典描述:用戶信息表的數(shù)據(jù)字典的描述:描述:用與儲
37、存用戶信息,其中有用戶名,當用戶登錄后會在用戶首頁上顯示。用戶密碼用于登錄本系統(tǒng),用戶權限是整數(shù),1代表普通用戶,既可以通過注冊的用戶;0代表系統(tǒng)用戶,是系統(tǒng)自帶的不可以通過注冊獲得。名字:用戶信息表描述:用戶可以根據(jù)自己的密碼登陸系統(tǒng),系統(tǒng)根據(jù)用戶的信息來判斷用戶的權限,主要存儲的是用戶用戶信息和用戶權限。定義:用戶名+用戶密碼+用戶權限位置:數(shù)據(jù)庫用戶信息表(UserInfo)用戶每次游戲信息表的數(shù)據(jù)字典描述:名字:用戶每次游戲信息表描述:用于記錄用戶每次玩游戲的信息。定義:用戶名+用戶該盤局的編號+游戲時間位置:數(shù)據(jù)庫用戶每次游戲信息表(UserDish)描述:這個表主要用于記錄用戶玩游
38、戲的時間,用戶棋盤編號是數(shù)據(jù)庫自動生成的,游戲時間主要用于用戶要回放棋局的查找。 用戶每盤棋信息表的數(shù)據(jù)字典描述:描述:該表用戶儲存棋局信息,主要用于電腦下棋時通過棋局編號提取數(shù)據(jù),從而計算出電腦該下哪一步棋,其中棋子狀態(tài)分為4種,-1表示該點不在棋盤上,0表示該坐標無棋子,1表示白棋2表示黑棋 名字:用戶每盤棋信息表描述:用于記錄用戶每盤棋棋盤的信息。定義:用戶該盤局編號+棋盤上棋子的X軸坐標+棋盤上棋子的Y軸坐標+該坐標上棋子狀態(tài)位置:數(shù)據(jù)庫用戶每盤棋信息表(UserQipan) 用戶每步棋信息表的數(shù)據(jù)字典描述:描述:該表主要儲存用戶和電腦下的每一步棋,用戶與棋盤回放時在數(shù)據(jù)庫提取數(shù)據(jù) 名
39、字:用戶每步棋信息表描述:用于記錄用戶每步的信息。定義:用戶該盤棋的編號+用戶該步棋的編號+該步棋電腦下棋的Y軸坐標+該步棋電腦下棋的X軸坐標+該步棋用戶下棋的Y軸坐標+該步棋用戶下棋的X軸坐標位置:數(shù)據(jù)庫用戶每盤棋信息表(UserStep)3.3五子棋對弈系統(tǒng)的數(shù)據(jù)流圖數(shù)據(jù)流圖(Data Flow Diagram):簡稱DFD,它從數(shù)據(jù)傳遞和加工角度,以圖形方式來表達系統(tǒng)的邏輯功能、數(shù)據(jù)在系統(tǒng)內部的邏輯流向和邏輯變換過程,是結構化系統(tǒng)分析方法的主要表達工具及用于表示軟件模型的一種圖示方法。下面簡要介紹部分需求的數(shù)據(jù)流圖:3.3.1 用戶登錄數(shù)據(jù)流圖(DFD)在用戶登錄過程當中,用戶輸入的信息
40、經(jīng)過加工處理后,通過對數(shù)據(jù)庫的查詢后返回給程序該用戶的權限,數(shù)據(jù)流圖(圖3-1)如下:用戶接受用戶信息處 理信 息輸入信息查詢信息用戶信息表(UserInfo)用戶產(chǎn)生查詢結果權限信息權限信息圖3-1 用戶登錄數(shù)據(jù)流圖3.3.2普通用戶界面顯示數(shù)據(jù)流圖(DFD)知道用戶權限后,通過查詢用戶游戲信息,顯示用戶游戲信息。數(shù)據(jù)流圖(圖3-2)如下:用戶接受權限信息處理信息用戶每次游戲信息(UserDish)產(chǎn)生結果用戶權限查詢信息游戲信息游戲信息圖3-2 普通用戶數(shù)據(jù)顯示數(shù)據(jù)流圖3.3.3管理員用戶界面顯示數(shù)據(jù)流圖(DFD)知道用戶權限后,通過查詢用戶游戲信息和所有普通用戶信息,顯示用戶游戲信息。數(shù)
41、據(jù)流圖(圖3-3)如下用戶接受權限信息處理信息用戶每次游戲信息(UserDish)產(chǎn)生結果用戶權限查詢信息游戲信息游戲信息用戶信息表(UserInfo)圖3-3 管理員用戶數(shù)據(jù)顯示數(shù)據(jù)流圖3.3.4用戶棋局回放數(shù)據(jù)流圖(DFD)知道用戶權限后,通過查詢用戶游戲信息和所有普通用戶信息,顯示用戶游戲信息。數(shù)據(jù)流圖(圖3-4)如下:用戶接受數(shù)據(jù)處理信息用戶該盤棋該步棋信息(UserStep)產(chǎn)生結果用戶數(shù)據(jù)查詢信息游戲信息游戲信息圖3-4 用戶棋局回放數(shù)據(jù)流圖4 JAVA五子棋對弈系統(tǒng)分析與設計此系統(tǒng)為智力游戲,適合于各類游戲愛好者。由于其經(jīng)典性及其游戲的簡單性,各類人士都可以也都愛玩。人們在與電腦
42、對戰(zhàn)享受娛樂的同時,也會體會到自己的智力也會有所提升。該款五子棋游戲功能雖然簡單,但實現(xiàn)了人機,所以從這個角度來說,該款游戲需要電腦能準確的計算棋局。雖然系統(tǒng)不大,但要在滿足玩家的基本要求的情況下,電腦有一定的智能,能給于新手一定的幫助。4.1 系統(tǒng)設計總體思想、目標本系統(tǒng)在結構設計中采用java的MVC模式,根據(jù)不同的功能劃分不同的模塊,該款五子棋游戲功能雖然簡單,但實現(xiàn)了人機,所以從這個角度來說,該款游戲需要電腦能準確的計算棋局。雖然系統(tǒng)不大,但要在滿足玩家的基本要求的情況下,電腦有一定的智能,能給于新手一定的幫助。4.2 五子棋人機對弈系統(tǒng)的ER模型經(jīng)過對系統(tǒng)的分析,我們將系統(tǒng)劃分出了用
43、戶信息、用戶棋局信息、用戶棋盤信息、用戶下棋信息等幾個實體,其各個實體的屬性如下:用戶信息:用戶名、用戶密碼、用戶權限用戶棋局信息:用戶名、棋局編號、棋局創(chuàng)建時間用戶棋盤信息:棋局編號、X軸坐標、Y軸坐標、棋子狀態(tài)用戶下棋信息:棋局編號、用戶X坐標、用戶Y坐標、電腦X坐標、電腦Y坐標本系統(tǒng)的具體ER模型如下:用戶用戶名用戶密碼用戶權限圖4-1用戶ER圖 圖4-2用戶棋局ER圖 棋局用戶名棋局編號創(chuàng)建時間圖4-3用戶棋盤ER圖 棋盤棋局編號X軸坐標Y軸坐標棋子狀態(tài)圖4-4用戶棋盤ER圖 下棋棋局編號用戶Y坐標用戶X坐標電腦X坐標電腦X坐標圖3-1整體ER圖 用戶用戶密碼用戶名用戶權限棋局棋局編號
44、創(chuàng)建時間創(chuàng)建棋盤X軸坐標Y軸坐標棋子狀態(tài)下棋屬于屬于用戶X坐標用戶Y坐標電腦X坐標電腦X坐標1N1N11每步棋編號圖4-5 整體ER圖 4.3 JAVA五子棋對弈系統(tǒng)結構、功能設計4.3.1 系統(tǒng)結構設計本系統(tǒng)主要針對用戶提出的要求業(yè)務開發(fā)的系統(tǒng),其結構設計情況如圖(圖4-6)所示:圖4-6 系統(tǒng)結構圖用戶前臺注冊登錄數(shù)據(jù)顯示五子棋棋盤回放悔棋游戲4.3.2 系統(tǒng)功能模塊設計該款游戲主要由一下幾個模塊組成(圖4-7):五子棋游戲用戶登錄注冊人機對弈模式具有悔棋功能棋局回放功能圖4-7 五子棋功能模塊圖用戶登錄注冊:在玩五子棋之前,用戶要先登錄游戲,未注冊的用戶應該先注冊,如果登錄成功會跳到用戶
45、管理頁面,登錄信息錯誤會提示密碼用戶名錯誤。人機對弈模式:選擇該模式可以實現(xiàn)人與電腦之間的對弈,電腦會智能的選擇該在哪處下子,并會在每次下棋結束后判斷是否有哪方已經(jīng)獲勝,如果獲勝則結束本局游戲,并提示玩家游戲結束?;谄骞δ埽哼@個功能也是根據(jù)游戲的實際需求而存在的,在現(xiàn)實生活中難免有失誤下錯了棋,那么就需要悔棋。此功能提供了悔棋功能,使得下棋的靈活性有所提高。玩家若想悔棋,則只需選擇悔棋按鈕便可以重新下過剛才的棋,但只能悔一步棋。棋局回放功能:這個功能是更加用戶需求設計的,該功能可以回放用戶以前下過的棋局只要點擊要回放的棋局,進入棋局回放頁面,點擊下一步就可以回放該棋局,點一下只能回放一步棋。設
46、計思路1.本程序要實現(xiàn)五子棋的游戲功能,必須先有一個棋盤,所以,通過html中的表格畫的,棋盤是17*17,表格中是一個層,通過改變其背景圖片來表示有無棋子,是白棋還是黑棋。另外還有一個按鈕:悔棋按鈕,用于提供悔棋功能,界面還顯示系統(tǒng)時間,用戶提示用戶當前時間。2.對于下棋的操作,通過對該層鼠標事件監(jiān)聽器onclick,每次當用戶點擊鼠標時,先取得點擊的坐標值,然后換算成對應棋盤上(即棋盤數(shù)組)的位置(數(shù)組的下標)。3.判斷此處是否已經(jīng)有棋子,如果有則用javascript提示玩家重新下子,否則通過ajax把點擊的數(shù)組傳遞給后臺,通過后臺處理返回給前臺數(shù)據(jù)來改變樣式,在此處畫上棋子。4.判斷該
47、顏色棋子的上下左右是否滿足連續(xù)五個,是的話提醒相應玩家獲勝,不是的話,更換玩家下棋。5.對于玩家的更換是程序自動的,每次用戶點擊鼠標后,若本局還未結束則會變換玩家,從而畫出對應黑方白方的棋子,直到有一方獲勝程序結束。4.4 程序設計分析1. 在網(wǎng)站的首頁是登錄界面,有登錄和注冊兩個功能。2在登錄成功會跳到用戶信息頁面,在該頁面的右下角會列出該用戶在最近5次,玩游戲的信息記錄,點擊該記錄可以回放對應的棋局。在信息下方有開始游戲和更改密碼兩個按鈕。3. 繪制棋盤,17*17的方框,在方框處下棋子(實心黑白圓形)。4. 棋盤處于鼠標監(jiān)聽狀態(tài),當鼠標在棋盤上有點擊操作的時候,程序會獲得鼠標點擊的坐標然
48、后換算成對應的棋盤的位置,再判斷此處是否有棋子,假如沒有,那么在此處畫出對應顏色的實心棋子,假如已經(jīng)有棋子了,則提示玩家此處已經(jīng)有棋子請重新下棋。5. 當用戶點擊表格中的層下完棋后,輪到電腦下子時,電腦會通過算法計算每個沒有棋子的位置的重要性來選擇最重要的位置下子。6. 當任何一方有五個棋子沿著橫,豎,斜連在一起時,系統(tǒng)自動判斷贏棋,并顯示黑方或白方勝利。棋局結束后,會返回用戶信息頁面。 7程序流程如下圖(圖4-8):圖4-8 系統(tǒng)結構圖4.5 類的設計1)由于要用到數(shù)據(jù)庫,所以設計了一個用來連接數(shù)據(jù)庫的類BaseDao,其中包括了兩個方法和4個變量,類圖(圖4-9)如下:圖4-9 BaseD
49、ao類圖2)下圖是關于數(shù)據(jù)庫中對應的表的類圖(圖4-10)關系:圖4-10 類表關系圖3)雖然有了用戶相關類,但是無法操作數(shù)據(jù)庫中的用戶信息,所以設計了操作用戶表的類UserDishDaoImpl,該類繼承BaseDao,并且實現(xiàn)IUserDao類,類圖(圖4-11)如下:圖4-11 UserDishDaoImpl類圖4)對于用戶每次玩游戲的信息操作,用UserDishDaoImpl實現(xiàn)了各種操作。類圖(圖4-12)如下:圖4-12 UserDishDaoImpl類圖5)對棋盤的各種信息保存操作,用類UserQipanDaoImpl來實現(xiàn)。其中類圖(圖4-13)如下圖4-13 UserQipa
50、nDaoImpl類圖6)對每局棋及每盤棋的各種保存操作,用UserStepDaoImpl來實現(xiàn),其中類圖(圖4-14)如下:圖4-14 UserStepDaoImpl類圖7)由于程序是人機對弈,電腦下棋算法用Computer類來實現(xiàn),其中有電腦下棋算法,還有電腦判斷輸贏算法,類圖(圖4-15)如下:圖4-15 Servlet類圖8)本程序的時序圖 (圖4-16)如下 :圖4-16 時序圖4.6五子棋對弈系統(tǒng)的數(shù)據(jù)庫設計4.6.1 系統(tǒng)用戶表名稱編碼數(shù)據(jù)類型備注用戶名userNamevarchar(255)用戶輸入,Not null約束,是表的主鍵用戶密碼userPwdvarchar(255)用
51、戶輸入,Not null約束用戶權限userFlagInt(11)系統(tǒng)分配,Not null約束,用于判斷用戶權限4.6.2 用戶棋局表 名稱編碼數(shù)據(jù)類型備注棋局編號dishIdInt(11)系統(tǒng)自動分配,是該表的主鍵,Not null約束用戶名userNamevarchar(255)用戶輸入,Not null約束創(chuàng)建時間playDateDate系統(tǒng)分配,Not null約束 4.6.3 用戶棋盤表 名稱編碼數(shù)據(jù)類型備注棋局編號dishIdInt(11)系統(tǒng)自動分配,是改變的主鍵,Not null約束X軸坐標XInt(11)是棋盤的X坐標,Not null約束Y軸坐標YInt(11)是棋盤的Y
52、坐標,Not null約束狀態(tài)FInt(11)表示棋子狀態(tài),Not null約束 4.6.4 用戶下棋信息表 名稱編碼數(shù)據(jù)類型備注下棋編號stepIdInt(11)系統(tǒng)自動分配,是改變的主鍵,Not null約束電腦X坐標pcXInt(11)是電腦該步棋的X坐標,Not null約束電腦Y坐標pcYInt(11)是電腦該步棋的Y坐標,Not null約束用戶X坐標psXInt(11)是電用戶該步棋的X坐標,Not null約束用戶Y坐標psYInt(11)是電用戶該步棋的X坐標,Not null約束棋局編號dishIdInt(11)是該表的外鍵,Not null約束5五子棋相關基礎5.1 五子
53、棋相關解釋引用辭海中所言,五子棋是“棋類游戲,棋具與圍棋相同,兩人對局,輪流下子,先將五子連成一行者為勝?!?。五子棋的名稱:日文亦有“連五子、五子連、串珠、五目、五目碰、五格、五石、五法、五聯(lián)、京棋”等多種稱謂,英文則稱之為FIR (Five In A Row的縮寫)、Gomoku(日語“五目”的羅馬拼音)、Gobang、connect 5、mo-rphion。捷克語piskvorky,韓語omok、韓國人還稱之為情侶棋。5.2 五子棋相關規(guī)則1.五子棋行棋時,黑棋先下第一子,由天元開始,后白棋在黑棋周圍的方框的落子。接著黑方再以天元中心的25個交叉點的范圍內落盤面的第三子,之后黑白雙方相互順
54、序子。 2.最先在棋盤上橫向,縱向,斜向形成已方的五個棋子連續(xù)的一方為勝。3.出現(xiàn)禁手對方指出后將判負,其中包括兩個或兩個以上的活三,活四,長連均稱之為禁手。4.禁手只對黑棋有效,白棋無禁手。5.黑方禁手形成時,白方需立即指出,黑方將被判負。若白方未發(fā)現(xiàn)黑方禁手存在而繼續(xù)應子,其后指出黑方禁手不能判黑方負。6.黑方連五與禁手同時形成,因黑方已連成五即黑方已獲勝,故禁手規(guī)則失效。7.在對局中,在盤上落下的子又拿起來,此動作稱為拔子,若拔子將被判為負。 8.在對局中棋子掉落在棋盤上將被判負。若推子或蹭子,以盤面第一落點為準。用手將棋子推正不算違犯規(guī)則。9.在對局中,一方自行中止比賽如:中途退場,將
55、被判負。10.在對局中對方宣布認輸,本局獲勝。11.超過比賽規(guī)定所用時間限制,將被判為負:正式比賽期間,遲到時間超過比賽容許時間將被判負。12.如下至最終一子仍不分勝負則定為平局。13.中盤期間雙方 同意和局提議,判定為平局。5.3 五子棋常用術語1.著:也稱“步”。對局中把一個棋子按照規(guī)則放到某一點,稱之為一著棋。一著是否完成有兩種規(guī)則:1)在執(zhí)行落子無悔規(guī)則是,以行棋者的手離開棋子為一著已完成。2)在執(zhí)行限時規(guī)則時,以行棋者按下棋鐘作為一著已完成。2.PASS :五子棋中引入的英文名稱,即應該行棋的一方主動放棄此次行棋的機會,由對方繼續(xù)行棋。3.先手:對方必須應答的著法,如對方形成活三必須
56、阻止其形成活四。4.絕對先手:相對先手而言,即形成同色連四或嵌五,對方必須應著,就是絕對先手。絕對先手又叫“沖”。5.VCF:(Victory of Continus Four 的縮寫) 意思是利用連續(xù)沖四取勝之意。利用連續(xù)不斷的沖四或嵌五的絕對先手,制止形成連五獲得勝利的一種方法。在對局接近尾聲或排局解題中一種常見的取勝技巧。6.追下取勝:是指白棋利用黑棋禁手取勝的戰(zhàn)術。白1 沖四,迫使黑2 形成“四、四”禁手( 即沖四,活四禁手), 這種取勝方法叫做追下取勝。7.自由取勝:追下取勝以外的取勝方法,即未利用黑棋禁手戰(zhàn)術而取勝。8.一子雙殺:是指對局中一方落子后出現(xiàn)兩個叫殺點即兩個獲勝點,而使
57、對方無法防守的情形。一般是有兩個沖四活三點,白棋的雙活三,雙四均可稱為一子雙殺。9.陽線:棋盤上可見的橫線與直線的總稱。10.陰線:也稱“斜線”。是棋盤上不可見的斜行線。11.“四、三”:指同時具備兩個先手,其中一個四,另一個是活三。12.“活三”、“嵌五”、“沖四”:參見五子棋重要棋形講座。13. 禁手:對局中禁止使用的戰(zhàn)術或被判為負的行棋手段。14. 開局:也稱“布局”。布局階段大體為七至十幾著之內。種類繁多,職業(yè)連珠五子棋有二十四種開局。 15. 局面:亦稱“局勢”。為對局中某一段時間內雙方子力的配置情況。16. 優(yōu)勢:是指足以取勝的優(yōu)勢局面,其對方即為敗勢。17. 妙著:對局中走出的一
58、步精妙的著法。既合乎邏輯又出人意料,有使局面頓時改觀的效果,對局勢的發(fā)展及對局的質量都有重大影響。18. 好著:也稱“佳著”。對局中成功的某一步。19. 正著:對局的某一局面中的正確著法。20. 劣著:對局中,導致嚴重不利后果的一步錯誤著法。21. 敗著:也稱“失著”“漏著”。對局中造成局面惡化的一步嚴重錯誤著法。22. 等著:對局中具有等待性的一步著法,主要意圖是等待有利時機。23. 廢著:也稱“空著”。對局中不起作用的著法。實際上指浪費時間毫無疑義的錯著。24. 搶先:對局中利用反活三或沖四的強制手段奪取主動權的著法。25. 打譜:按照棋譜演練著法,是提高棋藝水平的重要方法之一。26. 復
59、局:也叫“復著”。對局結束又重演對局的過程。一般用以研究、比較雙方的成敗得失和著法的優(yōu)劣。6 系統(tǒng)平臺、計算模式及技術1) 系統(tǒng)的硬件平臺:一臺臺式計算機2) 系統(tǒng)的軟件平臺:Windows xp/windows 7 IE瀏覽器等6.1 計算模式的進化及本系統(tǒng)選用的模式優(yōu)越性回顧計算機的發(fā)展史,計算模式有過三次質的飛躍:6.1.1 集中式管理主機/終端模式通過硬件連線把簡單的終端接到主機上;所有用戶的擊鍵和光標位置傳入主機,所有從主機返回的結果,顯示在終端屏幕的特定位置;分時共享模式,所有的程序和數(shù)據(jù)都存儲在大型的主機中(數(shù)據(jù)庫、應用程序、通信程序),資源集中控制;利用主機的能力運行應用程序,
60、利用無智能的終端來對應用進行控制;6.1.2 Client/Server模式在Client-Server模式,應用被分為前端(客戶端)和后端(服務器端);客戶部分運行在微機或工作站上,而服務器部分可以運行在從微機到大型機等各種計算機上??蛻魴C和服務器分別工作在不同的邏輯實體中,并協(xié)同工作。服務器主要是運行客戶機不能完成或費時的工作,比如大型數(shù)據(jù)庫的管理,而客戶機可以通過預先指定的語言向服務器提出請求,要求服務器去執(zhí)行某項操作,并將操作結果返送給客戶機。 6.1.3 Brower/Server模式基于瀏覽器、WWW服務器和應用服務器的計算結構,稱為瀏覽器/服務器(Browser/Server)的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑工程項目工程完工后設備驗收方案
- 混凝土澆筑工藝優(yōu)化與工效提升方案
- 智算中心分布式存儲系統(tǒng)方案
- 施工人員工傷保險與賠償管理方案
- 水的三態(tài)課件
- 醫(yī)藥組織者市場購買行為分析一47課件
- 水電氣安全知識培訓內容課件
- 主情造意41主景塑造手法49課件
- 2025版建筑行業(yè)安全生產(chǎn)合作協(xié)議
- 二零二五年度第四章:跨境電商合同履行風險防范協(xié)議
- 2025年中國美甲貼片行業(yè)市場全景分析及前景機遇研判報告
- mcn公司管理制度
- 兒童腹痛的課件
- 會計常用的130個函數(shù)公式
- 國家保安員模擬考試題(含答案)
- 校招項目管理筆試題目及答案
- 2025年中國微功率模塊電源項目投資可行性研究報告
- 《肩關節(jié)解剖學》課件
- 墊資過橋合同協(xié)議
- 2024儲能參與電力市場
- 醫(yī)院各部門應急預案與流程圖全集(2024版)
評論
0/150
提交評論