freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)--基于分支限界法的連連看局域網(wǎng)對(duì)戰(zhàn)游戲的開發(fā)-在線瀏覽

2025-03-01 22:29本頁(yè)面
  

【正文】 ............................ 19 圖 CBoard 類的設(shè)計(jì) ........................................................................................... 20 圖 CDraw 類的設(shè)計(jì) ............................................................................................ 21 圖 CControl 類的設(shè)計(jì) ......................................................................................... 22 圖 CClientSocket 類的設(shè)計(jì) ................................................................................ 22 圖 CListenSocket 類的設(shè)計(jì) ................................................................................ 23 圖 CServerSocket 類的設(shè)計(jì) ................................................................................ 23 圖 CCardGameDlg 類的設(shè)計(jì) .............................................................................. 23 圖 遺傳算法基本流程圖 ....................................................................................... 30 圖 直接繪圖與雙緩沖繪圖 ................................................................................... 41 圖 Socket 通信示意 ............................................................................................... 42 圖 連連看局域網(wǎng)雙人對(duì)戰(zhàn)游戲畫面 ................................................................... 43 圖 “局域網(wǎng)連接設(shè)置 ” 對(duì)話框 .............................................................................. 44 附表索引 表 “進(jìn)行單人游戲 ” 用例的用例描述 ................................................................ 6 表 “進(jìn)行局域網(wǎng)雙人對(duì)戰(zhàn)游戲 ” 用例的用例描述 ............................................ 7 表 “設(shè)置局域網(wǎng)連接 ” 用例的用例描述 ............................................................ 8 表 游戲的開發(fā)平臺(tái) ............................................................................................ 12 表 游戲的運(yùn)行平臺(tái) ............................................................................................ 12 ? 概述 連連看游戲簡(jiǎn)介 電腦游戲在人類的發(fā)展史中一直扮演著極其重要的角色,尤其是在工作日趨緊張、經(jīng)濟(jì)不斷發(fā)展的現(xiàn)代社會(huì)中,電腦游戲已經(jīng)不是傳統(tǒng)意義中孩子的專利。 游戲大致分為兩大類,即單機(jī)游戲( Console Game)和網(wǎng)絡(luò)游戲( Online Game)。如 Windows 操作系統(tǒng)自帶的紙牌、掃雷等小游戲程序,這一類游戲操作簡(jiǎn)單,難度比較低,對(duì)硬件的環(huán)境要求不高。指以 互聯(lián)網(wǎng) 為傳輸媒介 ,以 游戲運(yùn)營(yíng)商 服務(wù)器和用戶計(jì)算機(jī)為處理終端,以游戲客戶端軟件為 信息交互 窗口的旨在實(shí)現(xiàn)娛樂、休閑、交流和取得虛擬成就的具有可持續(xù)性的個(gè)體性多人在線游戲。連連看來(lái)源于街機(jī)游戲 “ 四川麻將 ” 和“ 中國(guó)龍 ” ,是給一堆圖案中的相同圖案進(jìn)行配對(duì)的簡(jiǎn)單游戲, 2022 年,一個(gè)叫做朱俊的網(wǎng)友將這種形式搬到了 PC 上,立刻成為辦公一族的新寵,并迅速傳遍了世界各地 [1]。之后村子的連連看風(fēng)靡版,阿達(dá)的連連看奧運(yùn)版,連連看反恐版,還有敏敏連連看,水晶連連看等遍地開花,造就了一個(gè)連連看的新世界。 連連看游戲并沒有絢爛的畫面 和龐大的場(chǎng)景,操作簡(jiǎn)單,對(duì)硬件和環(huán)境要求不高,但是卻變化無(wú)窮,容易上手,男女皆宜,節(jié)奏很快,令人上癮。局域網(wǎng)連連看對(duì)戰(zhàn)這樣的智力游戲也被人們所接受,從而連連看從棋盤也走向了網(wǎng)絡(luò),局域網(wǎng)連連看對(duì)戰(zhàn)不限制地點(diǎn)的模式深受連連看愛好者的喜愛。連連看游戲很快成為家喻戶曉的大眾游戲之一,也成為電腦游戲發(fā)展史上的一個(gè)經(jīng)典。傳統(tǒng)的連連看游戲的最初運(yùn)行界面如圖 所示。而所謂狀態(tài)空間也叫做解空間,是指該系統(tǒng)的全部可能狀態(tài)的集合 [2]。由于求解問(wèn)題的過(guò)程中分枝有很多,主要是求解過(guò)程中求解條件的不確定性,不完備性造成的,使得求解的路徑很多這就構(gòu)成了一個(gè)圖,稱為狀態(tài)空間。這個(gè)尋找的過(guò)程就是狀態(tài)空間搜索。 狀態(tài)空間至少包含問(wèn)題的一個(gè)最優(yōu)解。如當(dāng) n=3 時(shí),其解空間為 {(0,0,0), (0,0,1), (0,1,0), (0,1,1), (1,0,0), (1,0,1), (1,1,0), (1,1,1)},這個(gè)解空間可以用一顆完全二叉樹來(lái)表示,如圖 所示。 圖 僅 3 個(gè)物品的 01 背包問(wèn)題的狀態(tài)空間樹 面向?qū)ο蠓椒ê?jiǎn)介 隨著軟件形式化方法及新型軟件的開發(fā),傳統(tǒng)的軟件工程方法的局限性逐漸暴露出來(lái) [3,4]。由于問(wèn)題空間與解空間的模型、描述方式的不同,它們之間存在著復(fù)雜的轉(zhuǎn)換過(guò)程,尤其對(duì)于復(fù)雜系統(tǒng)及普遍存在的需求變化,就更難適應(yīng)。 面向?qū)ο蟮姆椒▌t是將軟件系統(tǒng)看作一系列離散的解空間對(duì)象的集合,并使問(wèn)題空間的對(duì)象與解空間對(duì)象盡量一致,這些解空間對(duì)象相互之間發(fā)送消息而相互作用,從而獲得問(wèn)題空間的解 [3,4]。 如果是按照以下 4 個(gè)概念設(shè)計(jì)和實(shí)現(xiàn)的系統(tǒng),稱為是面向?qū)ο蟮?,即:面向?qū)ο?=對(duì)象 +類 +繼承 +通信 [3,4]。面向?qū)ο蟪绦蛟O(shè)計(jì)的一些顯著的特性包括 [3,4]: 1.程序設(shè)計(jì)的重點(diǎn)在于數(shù)據(jù)而不是過(guò)程; 2.程序被劃分為所謂的對(duì)象; 3.?dāng)?shù)據(jù)結(jié)構(gòu)為表現(xiàn)對(duì)象的特性而設(shè)計(jì); 4.函數(shù)作為對(duì)某個(gè)對(duì)象數(shù)據(jù)的操作,與數(shù)據(jù)結(jié)構(gòu)緊密的結(jié)合在一起; 5.重要數(shù)據(jù)被隱藏起來(lái),不能為外部函數(shù)訪問(wèn); 6.對(duì)象之間可以通過(guò)函數(shù)溝通; 7.新的數(shù)據(jù)和函數(shù)可以在需要的時(shí)候輕而易舉的添加進(jìn)來(lái); 8.在程序設(shè)計(jì)過(guò)程中遵循由下至上( bottomup)的設(shè)計(jì)方法。 第 2 章,標(biāo)題為 “ 面向?qū)ο蠓治雠c設(shè)計(jì) ” ,闡述待開發(fā)的連連看游戲的面向?qū)ο蠓治雠c設(shè)計(jì)過(guò)程,包括用例建模、活動(dòng)圖建模、對(duì)象狀態(tài)建模、對(duì)象交互建模、類圖建模,并詳細(xì)介紹了游戲中類的設(shè)計(jì)。 第 4 章,標(biāo)題為 “ 面向?qū)ο髮?shí)現(xiàn) ” ,闡述待開發(fā)的連連看游戲的面向?qū)ο髮?shí)現(xiàn)過(guò)程,并給出編程時(shí)使用到的具體技術(shù),如: Windows GDI 雙緩沖、Socket 套接字編程。 ? 面向?qū)ο蠓治雠c設(shè)計(jì) 用例圖建模 用例建模與用例圖的概念 用例建模是用于描述一個(gè)系統(tǒng)的功能(即系統(tǒng)應(yīng)該做什么)的建模技術(shù),用例建模不僅用于獲取新系統(tǒng)的客戶需求,還可以作為對(duì)已有系統(tǒng)進(jìn)行升級(jí)時(shí)的指南。 用例模型( Use Case Model) [4]是表達(dá)系統(tǒng)外部事物(執(zhí)行者)與系統(tǒng)之間交互的可視化工具。用例模型驅(qū)動(dòng)了需求分析之后各階段的開發(fā)工作,不僅在開發(fā)過(guò)程中保證了系統(tǒng)所有功能的實(shí)現(xiàn),而且被用于驗(yàn)證和檢測(cè)所開發(fā)的系統(tǒng),從而影響到開發(fā)工作的各個(gè)階段。在用例模型中,功能以用例來(lái)表示,每個(gè)用例指明了一個(gè)完整的功能 。通過(guò)執(zhí)行者與系統(tǒng)中的用例進(jìn)行交互,具體描述系統(tǒng)是如何提供這些功能來(lái)完成相應(yīng)的服務(wù)的[4]。 用例圖( Use Case Diagram) [4,5]描述了各種外部執(zhí)行者與系統(tǒng)所提供的用例( use case)之間的連接。用例與用例之間也可以發(fā)生聯(lián)系 —— 通過(guò)它們之間的連線表示,并在連 線附近用文字描述聯(lián)系的內(nèi)容。 “ 與系統(tǒng)交互 ” 是指執(zhí)行者向系統(tǒng)發(fā)送消息,或從系統(tǒng)那里接收消息,或與系統(tǒng)交換信息。而系統(tǒng)需要提供單人游戲模式、局域網(wǎng)雙人對(duì)戰(zhàn)模式,這顯然是處于系統(tǒng)內(nèi)。在進(jìn)行局域網(wǎng)雙人對(duì)戰(zhàn)時(shí),首先要設(shè)置局域網(wǎng)連接,因此 “ 局域網(wǎng)連接 ” 用例應(yīng)作為 “ 局域網(wǎng)雙人對(duì)戰(zhàn) ” 用例的擴(kuò)展用例。 圖 連連看局域網(wǎng)對(duì)戰(zhàn)游戲用例圖 用例說(shuō)明 獲得用例圖后,至少要給出于執(zhí)行著直接關(guān)聯(lián)的類的描述。 “ 進(jìn)行單人游戲 ” 用例的用例描述如表 所示。 2.在棋盤內(nèi)除了最上方和最下方兩行,最左邊和最右邊一列,其余每一個(gè)位置隨機(jī)擺一張花色的游戲牌,每一種花色的游戲牌出現(xiàn)的次數(shù)必須是偶數(shù),并且滿足存在一對(duì)能夠消去的游戲牌(花色相同、存在一條拐彎次數(shù)不超過(guò) 2 的路徑),啟動(dòng)計(jì)時(shí)器的秒數(shù),游戲開始。 “ 進(jìn)行局域網(wǎng)雙人對(duì)戰(zhàn)游戲 ” 用例的用例描述如表 所示。如果是同時(shí)作為服務(wù)端和客戶端的玩家,轉(zhuǎn) 2,否則轉(zhuǎn) 3; 2.服務(wù)端啟動(dòng)局域網(wǎng)對(duì)戰(zhàn)模式,設(shè)置創(chuàng)建監(jiān)聽,等待客戶端連接,如果客戶端連接上服務(wù)端,轉(zhuǎn) 4; 3.客戶端啟動(dòng)局域網(wǎng)對(duì)戰(zhàn)模式,進(jìn)行連接服務(wù)端的操作,等待服務(wù)端啟動(dòng)游戲; 4.服務(wù)端啟動(dòng)游戲,在棋盤內(nèi)除了最上方和最下方兩行,最左邊和最右邊一列,其余每一個(gè)位置隨機(jī)擺一張花色的游戲牌,每一種花色的游戲牌出現(xiàn)的次數(shù)必須是偶數(shù),并且滿足存在一對(duì)能夠消去的游戲牌(花色相同、存在一條拐彎次數(shù)不超過(guò) 2 的路徑),啟動(dòng)計(jì)時(shí) 器的秒數(shù),游戲開始; 5.每隔 1 秒鐘,計(jì)時(shí)器自動(dòng)減 1,如果時(shí)間耗盡,轉(zhuǎn) 14; 6.對(duì)每個(gè)玩家,執(zhí)行下述步驟: 7.如果某一個(gè)玩家用鼠標(biāo)選中一張游戲牌,轉(zhuǎn) 8; 8.搜索玩家上一次選中的并且未消去的游戲牌,如果不存在玩家上一次選中的并且未消去的游戲牌,并將當(dāng)前狀態(tài)通過(guò)數(shù)據(jù)包發(fā)送給服務(wù)端,服務(wù)端將該玩家的狀態(tài)再通過(guò)數(shù)據(jù)包轉(zhuǎn)發(fā)給其他玩家;轉(zhuǎn) 9,否則轉(zhuǎn) 10; 9.將當(dāng)前選中的游戲牌置為選中狀態(tài),轉(zhuǎn) 5; 10.如果玩家當(dāng)前選中的游戲牌和上次選中的并且未消去的游戲牌不是同一張游戲牌,如果不是轉(zhuǎn) 11,否則轉(zhuǎn) 12; 11.判斷當(dāng)前選中的游戲牌和上次選中的并且未消去的游戲牌能否消去,如果不能,轉(zhuǎn) 13,如果能,轉(zhuǎn) 14; 12.將上一次選中的并且未消去的游戲牌置為未選中狀態(tài),并將當(dāng)前狀態(tài)通過(guò)數(shù)據(jù)包發(fā)送給服務(wù)端,服務(wù)端將該玩家的狀態(tài)再通過(guò)數(shù)據(jù)包轉(zhuǎn)發(fā)給其他玩家,轉(zhuǎn) 5; 13.將玩家上一次選中的并且未消去的游戲牌取消選中,將當(dāng)前選中的游戲牌指為選中狀態(tài),并罰時(shí) 4 秒鐘,并將當(dāng)前狀態(tài)通過(guò)數(shù)據(jù)包發(fā)送給服務(wù)端,服務(wù)端將該玩家的狀態(tài)再通過(guò)數(shù)據(jù)包轉(zhuǎn)發(fā)給其他玩家;轉(zhuǎn) 5; 14.將當(dāng)前選中的游戲牌指為選中狀態(tài),消去這一對(duì)游戲牌,并加時(shí) 2 秒鐘,并將當(dāng)前 狀態(tài)通過(guò)數(shù)據(jù)包發(fā)送給服務(wù)端,服務(wù)端將該玩家的狀態(tài)再通過(guò)數(shù)據(jù)包轉(zhuǎn)發(fā)給其他玩家,轉(zhuǎn) 16; 15.如果棋盤內(nèi)所有的游戲牌都被消去,轉(zhuǎn) 18,否則轉(zhuǎn) 17; 16.如果不存在一對(duì)能夠消去的游戲牌,則在原有位置重新擺放未消去的游戲牌,直到存在一對(duì)能夠消去的游戲牌,轉(zhuǎn) 5; 17.游戲失敗,則給出相應(yīng)的失敗信息提示,并將當(dāng)前狀態(tài)通過(guò)數(shù)據(jù)包發(fā)送給服務(wù)端,服務(wù)端將該玩家的狀態(tài)再通過(guò)數(shù)據(jù)包轉(zhuǎn)發(fā)給其他玩家;轉(zhuǎn)19; 18.游戲勝利,則給出相應(yīng)的勝利信息提示,并將當(dāng)前狀態(tài)通過(guò)數(shù)據(jù)包發(fā)送給服務(wù)端,服務(wù)端將該玩家的狀態(tài)再通過(guò)數(shù)據(jù)包轉(zhuǎn)發(fā)給其他玩家; 19.游戲結(jié)束。 表 “設(shè)置局域網(wǎng)連接 ” 用例的用例描述 名稱 描述 用例名稱 設(shè)置局域網(wǎng)連接 執(zhí)行者 玩家 目的 設(shè)置局域網(wǎng)雙人對(duì)戰(zhàn)模式下的局域網(wǎng)連接 類型 主要的、基本的 過(guò)程描述 1.玩家輸入名稱,選擇將當(dāng)前系統(tǒng)既作為整個(gè)游戲的服務(wù)端又作為自己的客戶端,還是僅作為客戶端,如果當(dāng)前系統(tǒng)既作為服務(wù)端又作為客戶端,轉(zhuǎn) 2,否則轉(zhuǎn) 8; 2.輸入端口號(hào); 3.創(chuàng)建監(jiān)聽,等到客戶端連接; 4.將自己同時(shí)作為客戶端,連接本機(jī)的服務(wù)端; 5.等待另一玩家客戶端的連接; 6.如果監(jiān)測(cè)到另一玩家的客戶端的連接請(qǐng)求,轉(zhuǎn) 7,否則轉(zhuǎn) 5; 7.如果包含自己在內(nèi)的連接數(shù)已經(jīng)超過(guò) 2 個(gè),則拒絕該客戶端的連接; 8.接受另一玩家的客戶端的連接請(qǐng)求,并發(fā)送數(shù)據(jù)包給對(duì)方玩家,轉(zhuǎn)13; 9.輸入需要連接的服務(wù)端的 IP 地址和端口號(hào); 10.發(fā)送連接請(qǐng)求給服務(wù)端; 11.等待服務(wù)端響應(yīng); 12.如果接收到服務(wù)端的響應(yīng)消息,給出連接成功提示,轉(zhuǎn)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1