【正文】
以某種方式參與系統(tǒng)內(nèi)用例的執(zhí)行。在用例圖中標(biāo)識用例名和執(zhí)行者名,用例圖中使用連線描述執(zhí)行者和用例之間的關(guān)系。用例模型的步驟包括 [4,5]:定義系統(tǒng),尋找執(zhí)行者和用例,描述用例,定義用例之間的關(guān)系,最后確認(rèn)模型。系統(tǒng)由若干用例組成,系統(tǒng)的邊界定義了一個系統(tǒng)所具有功能。用例圖的主要成分有用例、執(zhí)行者和系統(tǒng),它用簡單的圖符準(zhǔn)確地描述了執(zhí)行者與系統(tǒng)的交互情況以及系統(tǒng)的功能。一個系統(tǒng)的用例模型由若干用例圖組成,主要用于需求分析階段,它的建立是系統(tǒng)開發(fā)者和用戶反復(fù)討論的結(jié)果,表明了開發(fā)者和用戶對需求規(guī)格說明達(dá)成的共識。建立用例模型的目的是為了尋找需求規(guī)約,需要通過開發(fā)者和客戶之間進(jìn)行多次交互完成。 結(jié)論部分,總結(jié)開發(fā)出來的連連看游戲系統(tǒng)的特點(diǎn),并論證面向?qū)ο蠓椒ê头种藿缢惴ㄋ枷朐谶B連看游戲開發(fā)的可行性,并分析了開發(fā)出的連連看游戲的優(yōu)勢和不足。 第 3 章,標(biāo)題為 “ 算法設(shè)計(jì) ” ,重點(diǎn)闡述分支限界法對兩張游戲牌進(jìn)行“ 尋路 ” 的算法,來判斷兩張游戲牌能否消 去,同時給出了自動找出一對能消去的游戲牌、游戲牌重新排列、隨機(jī)發(fā)牌、處理選中游戲牌、服務(wù)端套接字處理數(shù)據(jù)包、客戶端套接字處理數(shù)據(jù)包等主要過程的算法設(shè)計(jì)。 論文內(nèi)容與結(jié)構(gòu) 本章為第 1 章,即緒論部分,本章之后,各章安排如下。 面向?qū)ο缶幊?( Object Oriented Programming, OOP, 面向?qū)ο蟪绦蛟O(shè)計(jì) )是一種計(jì)算機(jī)編程架構(gòu)。這樣, 問題空間與解空間的結(jié)構(gòu)、描述的模型十分一致,減少了軟件系統(tǒng)開發(fā)的復(fù)雜度,使系統(tǒng)易于理解和維護(hù)。同時,傳統(tǒng)的軟件工程方法難于支持軟件復(fù)用。傳統(tǒng)的軟件工程方法是面向過程的,將數(shù)據(jù)和處理過程分離,增加了軟件開發(fā)的難度。可以把解空間看作樹或者圖的形式,葉節(jié)點(diǎn)表示一個可能的解,從根節(jié)點(diǎn)到葉節(jié)點(diǎn)的任一路徑表示解空間的一個元素。如對于有 n 種可選物品的 01 背包問題,其解空間由長度為 n 的 01 向量組成, 該解空間包含了對變量所有可能的 01 賦值。 狀態(tài)空間搜索廣泛應(yīng)用于優(yōu)化問題中,如經(jīng)典的 “ 01 背包問題 ” 、 “ 旅行商問題 ” 、 “ 迷宮問題 ” 、 “ 最大團(tuán)問題 ” 、 “ n 皇后問題 ” 等,在計(jì)算機(jī)求解的過程中,都需要進(jìn)行狀態(tài)空間搜索。問題的求解實(shí)際上就是在這個圖中找到一條路徑可以從開始到結(jié)果。狀態(tài)空間搜索就是通過在狀態(tài)空間中的初始狀態(tài)出發(fā),按照一定的順序和條件對空間中的狀態(tài)進(jìn)行遍歷,最終找到目標(biāo)狀態(tài) [2]。 圖 傳統(tǒng)連連看游戲運(yùn)行界面 狀態(tài)空間搜索簡介 狀態(tài)是指在系統(tǒng)中決定系統(tǒng)狀態(tài)的最小數(shù)目的變量的有序集合。由于連連看游戲具有的數(shù)學(xué)性、 動態(tài)性與知名度,也經(jīng)常拿來作為程序設(shè)計(jì)的練習(xí)題材。連連看游戲上手極其簡單,但是要熟練地掌握其中的操作與圖案消除技巧,難度卻不低,其普及程度也是非常高。適度游戲,不僅能增強(qiáng)思維能力,提高智力,鍛煉眼力,還能起到健腦益智的效果。連連看游戲規(guī)則簡單,在一個擺放了游戲牌的棋盤內(nèi),只要將相同花色的兩個游戲牌用三根以內(nèi)的直線連在一起就可以消除,在規(guī)定的時間內(nèi)消除了棋盤內(nèi)的所有游戲牌,即可獲得游戲勝利,否則游戲失敗。飽受工作壓力的人們沒有太多的時間進(jìn)行復(fù)雜的游戲,而對于這種動動鼠標(biāo)就能過關(guān)的游戲情有獨(dú)鐘。 連連看游戲就是很經(jīng)典的小游戲。而網(wǎng)絡(luò)游戲又稱 “ 在線游戲 ” ,簡稱 “ 網(wǎng)游 ” 。所謂單機(jī)游戲指僅使用一臺計(jì)算機(jī)或者其它游戲平臺就可以獨(dú)立運(yùn)行的 電 子游戲 。伴著游戲產(chǎn)業(yè)日益壯大,現(xiàn)代人類日常生活中經(jīng)常用游戲來休閑娛樂,游戲市場有很大的潛力,很多國家都對游戲市場十分重視。 objectoriented。 Branch bound algorithm。 面向?qū)ο?。 分支限界法 。程序開發(fā)出來后, 不僅正確實(shí)現(xiàn)了相關(guān)的功能和性能,而且具有良好的穩(wěn)定性、可維護(hù)性和可擴(kuò)充性,證明了分支限界法和面向?qū)ο蠹夹g(shù)在在連連看局域網(wǎng)對戰(zhàn)游戲開發(fā)中的可行性。 連連看游戲是一種簡單但不失趣味性的大眾游戲,具有一定的數(shù)學(xué)性和動態(tài)性,而將普通的傳統(tǒng)單機(jī)游戲擴(kuò)充為局域網(wǎng)上的多人對戰(zhàn)游戲,能使傳統(tǒng)游戲更具備對抗性和刺激性。 本科畢業(yè)論文(設(shè)計(jì)) 題 目 基于分支限界法的連連看局域網(wǎng)對戰(zhàn)游戲的開發(fā) 作 者 學(xué) 院 信息科學(xué)與工程學(xué)院 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 學(xué) 號 指導(dǎo)教師 二〇一三年五月十五日 摘要 分支限界法是一種廣泛使用的狀態(tài)空間搜索算法,這種算法常以廣度優(yōu)先或以最小耗費(fèi)(最大效益)優(yōu)先的方式來搜索問題的狀態(tài)空間,在搜索過程中,利用剪枝來提高搜索效率,分支限界法與回溯法、 A*算法等常用于游戲中的“ 尋路 ” 過程。 面向?qū)ο螅?Objectoriented, OO)開發(fā)方法是目前業(yè)界推崇的軟件開發(fā)方法,使用面向?qū)ο箝_發(fā)方法能更好地適應(yīng)當(dāng)前的需求變化,容易實(shí)現(xiàn)軟件復(fù)用性、可維護(hù)性、可修改性和可擴(kuò)充性。 本文研究以面向?qū)ο蠹夹g(shù)為主要開發(fā)方法,以分支限界法作為兩張游戲牌的尋路算法,將傳統(tǒng)的連連看單機(jī)游戲擴(kuò)充為局域網(wǎng)上的雙人對戰(zhàn)游戲,重點(diǎn)闡述了分支限界法與面相對象開發(fā)思想在連連看局域網(wǎng)對戰(zhàn)游戲中的應(yīng)用。 關(guān)鍵詞 :狀態(tài)空間 。 連連看 。 套接字 Abstract Branch and bound method is an algorithm that used widely in statespace search. This algorithm based on breadthfirst or with the way (maximum benefit) in favor of smallest cost to search the problem in State space . During the search ,pruning is used to improve the search efficiency . The branch and bound method , the backtrack method ,and the A* algorithm is monly used in the games of path finding process. Objectoriented (Objectoriented, OO) development methods are industry respected software development methods. Objectoriented development methods can better adapt to change in demand, easy to implement software reusability, maintainability, Modifiability, and scalability. Lianliankan games is a simple yet fun popular games, with a certain mathematical and dynamical .while the expansion of the mon traditional games for multiplayer fighting game on the LAN, make the traditional game have a confrontational and provocative. This articles’ research use the objectoriented technology as the main development methods and take the branch and bound method as two game pathfinding algorithms. The traditional lianliankan games expanded into a double play against the game on the LAN ,focused on the application of branch and bound method and the objectoriented development methods in the LAN battle game. The developed program not only implement the functionality and performance properly, but also has good stability, maintainability and scalability. It proves that the bound method and objectoriented technology is feasible in the multiplayer fighting game on the LAN. Keywords: state space。 Lianliankan game。 Socket 目錄 摘要 .............................................................................................................................. I Abstract .................................................................................................... II 插圖索引 ................................................................................................. VI 附表索引 ................................................................................................ VII 第 1 章 概述 .............................................................................................................. 1 連連看游戲簡介 .............................................................................................. 1 狀態(tài)空間搜索簡介 .......................................................................................... 2 面向?qū)ο蠓椒ê喗?.......................................................................................... 3 論文內(nèi)容與結(jié)構(gòu) .............................................................................................. 4 第 2 章 面向?qū)ο蠓治雠c設(shè)計(jì) ............................................................................. 5 用例圖建模 ...................................................................................................... 5 用例建模與用例圖的概念 ................................................................... 5 游戲的用例圖 ....................................................................................... 5 用例說明 ............................................................................................... 6 活動圖建模 ...................................................................................................... 9 活動圖的概念 ....................................................................................... 9 游戲的活動圖 ....................................................................................... 9 開發(fā)工具的選擇 ...............................................................................