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

正文內(nèi)容

基于java的俄羅斯方塊的設(shè)計與實現(xiàn)(參考版)

2025-05-11 20:22本頁面
  

【正文】 一個 STYLES 中的元素是用一個整數(shù)表示的,如橫長條是用 0x0f00 表示,再用key=0x8000 與 STYLES 的某個元素 style 進行“與”運算,即取出了 style 中的第一位,這一位如果是 1,則表示對應的方格在該方塊中是要用色彩來顯示的,因此產(chǎn)生一個方格,即一個 RussiaBox對象。739。739。Z39。Z39。T39。 圖 55 游戲單元方格 該類用 4位 16進制數(shù)表示一個 4 4 個 方格組成的方塊,即一個方塊的狀態(tài),如圖 55所示的一個橫條,用一個 4位 16進制表 示即為 0x0f00,其中 0x表示 16進制, 0x 后 ( 圖 55 0x0f00 表示)的方 的第一個數(shù) 0表示方塊的第一行沒有填充,第二個數(shù) f表示方塊的第二行全部填充,由 2)1111(f ? 可以看出 16進制的數(shù)對應的二進制為 1 時表示該方格被填充;為 0時則不填充。 首先,定義一個 RussiaBox 類來表示一個游戲單元方格,然后定義一個游戲方塊,該游戲由 4 4 個 RussiaBox 單元格組成,定義 4 4 的游戲方塊是為了便于實現(xiàn)前面提到的 7種不同的俄羅斯方塊,因為 7 種俄羅斯方塊的旋轉(zhuǎn)變化恰好都在長、寬 各位4個單元格的畫布之內(nèi)。 ② 利用 Java 中提供的圖形類對象并對其著色來實現(xiàn)游戲塊。 第四節(jié) 游戲塊的設(shè)計與實現(xiàn) 游戲塊是俄羅斯方塊游戲的最基本元素。 Dimension 類封裝了一個構(gòu)件的高度和寬度,這個類與一個構(gòu)件的許多屬性相關(guān)聯(lián),因此在 Component 類中定義多個與之相關(guān)的方法。 29 在方格類中用一個 Dimension 對象表示一個方格的大小,因此 Dimension 對象是RussiaBox 類的一個成員變量。如果沒有實現(xiàn)這個接口又調(diào)用了 Object 的 clone()方法將會導致拋出CloneNotSupportedException 異常。要實現(xiàn)方格對象的復制就必須使方格類實現(xiàn) Cloneable 接口。方塊類由 4 4 個方格( RussiaBox)構(gòu)成一個方塊,而游戲窗口是一個畫布類,這個畫面內(nèi)有 行數(shù) 列數(shù) 個方格類實例。 在語法上它實現(xiàn)了 Java 平臺提供的Cloneable 接口。單機版和雙人對戰(zhàn)版俄羅斯方塊的實現(xiàn)均需用到此類。 ● RussiaBox : 方格類,是組成俄羅斯方塊的基本元素,用自己的顏色來表示塊的外觀 。 ● HelpFrame : 游戲的幫助窗口,該類繼承于 JFrame 類,并實現(xiàn) ActionListener 接口,主要是通過圖片顯示來說明游戲的玩法。負責游戲的全局控制。 包包含 、 、 包以及以下類。選擇“是”退出游戲,選擇“否”繼續(xù)游戲。單擊“確定”按鈕退出該界面。 (三) 、 單擊“幫助”按鈕,進入游戲幫助界面,如圖 52。 (二) 、 單擊“雙人對戰(zhàn)版”按鈕,進入雙人對戰(zhàn)游戲。 26 圖 51 游戲主界面 (一) 、 單擊“單機版”按鈕,進入單機游戲。游戲的主界面如圖 51 所示。為了增強游戲界面的美化效果,使界面簡潔直觀。因此,詳細設(shè)計的結(jié)果基本上決定了最終的程序代碼的質(zhì)量。 25 開 始進 入 游 戲 主 界 面進 入 單 機 版 游戲 否 ?進 入 雙 人 版 游戲 否 ?開 始 游 戲結(jié) 束否是是否 圖 48 游戲總體流程圖 第 五 章 詳細設(shè)計與實現(xiàn) 第一節(jié) 詳細設(shè)計概述 詳細設(shè)計階段的根本目標是確定應該怎樣具體地實現(xiàn)所要求的系統(tǒng),也就是說,經(jīng)過這個階段的設(shè)計工作,應該得出對目標系統(tǒng)的精確描述,從而在編碼階段可以把這個描述直接翻譯成用某種程序設(shè)計語言書寫的程序。 主要用來說明 游戲的執(zhí)行 過程 。流程圖是由一些圖框和流程線組成的,其中圖框表示各種操作的類型,圖框中的文字和符號表示操作的內(nèi)容,流程線表示操作的先后次序。 表 排行榜表( hero) 字段名 類型 長度 意義 可否為空 關(guān)鍵字 id int 8 序號 N Y name char 35 玩家姓名 Y N score int 18 分數(shù) N N 第八節(jié) 游戲的總體流程圖 流程圖是流經(jīng)一個系統(tǒng)的信息流、觀點流或部件流的圖形代表。并把結(jié)果輸入的 hero 表中。 二 、 本游戲涉及的數(shù)據(jù)表 本游戲中只涉及到一個排行榜( hero)表格,用來存儲玩家的名次、姓名和得分。 在本游戲中,由于只有單機版的排行榜功能涉及到數(shù)據(jù)庫的插入和查詢,操作比較 IP: Client IP: Server 24 簡單,不涉及復雜的操作。相比之下, MySQL 具有功能強、使用簡單、管理方便 、運行速度快、可靠性高、安全保密性強等優(yōu)點。 MySQL 完全適用于網(wǎng)絡(luò),用其建造的數(shù)據(jù)庫可在因特網(wǎng)上的任何地方訪問,因此,可以和網(wǎng)絡(luò)上任何地方的任何人共享數(shù)據(jù)庫。因此一旦建好連接,只需使用自己熟悉的 I/O 命令讀取文 件即可,這正是 Java 用于網(wǎng)絡(luò)編程的方便之處。所以服務器的主要任務是監(jiān)聽要求建立連接的請求,而客戶機的任務是試著與一臺服務器建立連接,一旦連接完成,則無論對于服務器和客戶機而言,連接都成了一個 I/O數(shù)據(jù)流對象。一旦兩臺計算機完成了圖 47所示的連接即可進行對話。圖中格子代表邏輯端口,小橢圓代表 Socket 連接正在使用的兩個邏輯端口。由于 Socket 采用客戶機 /服務器模式,因此在 Java 中有兩種 Socket:服務器 Socket 和客戶 Socket。 第六節(jié) 面向連接的 Socket 的通信機制 Socket 是兩個應用程序間用來進行雙向數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)接入點,它由兩部分組成:俄羅斯游戲系統(tǒng)單機版游戲雙人對戰(zhàn)版游戲服務器端客戶端數(shù)據(jù)庫服務器應用服務器游戲主界面單機版界面雙人版界面 23 地址和端口號。 圖 45 游戲的組件圖 第五節(jié) 游戲的配置圖 圖 46 游戲配置圖 配置圖描述了運行軟件的系統(tǒng)中硬件和軟件的物理結(jié)構(gòu),即系統(tǒng)執(zhí)行處理過程中系統(tǒng)資源元素的配置情況以及軟件到這些資源的映射。每個組件實現(xiàn)一些接口,并使用另一些接口。 第四節(jié) 游戲的組件圖 組件圖描述了軟件的各種組件和它們之間的依賴關(guān)系。 ⑥ DoubleMusic:雙人對戰(zhàn)版游戲的音樂類, 實現(xiàn)背景音樂播 放 功能、 暫停播放 功能、 繼續(xù)播放 功能 和各種音效播放 功能。 ④ DoubleGameCanvas:雙人對戰(zhàn)版 游戲 的 畫布類,負責每一個方塊的繪制 。 21 圖 44 雙人對戰(zhàn)版俄羅斯方塊游戲的類圖 ③ DoubleControlPanel:雙人對戰(zhàn)版游戲的控制面板類, 上邊安放預顯即將出現(xiàn)的方塊類型的窗口、難度級別、得分、控制按鈕以及對方玩家的游戲狀態(tài)窗口。其中包括: ① DoubleBlock:雙人對戰(zhàn)版游戲的方塊類, 控制塊的移動、下落、變形等 。 ⑦ HeroFrame:排行榜類, 顯示玩家的名次、姓名和分數(shù) 。內(nèi)含:一個畫布類的實例引用,一個保存當前活動塊實例的引用,一個保存當前控制面板實例的引用 。 ④ Music:單機版游戲的音樂類, 實現(xiàn)背景音樂播放 功能、 更換背景音樂 功能、 暫停播放 功能、 繼續(xù)播放 功能 和各種音效播放 功能。 ② SingleControlPanel:單機版游戲的控制面板類, 上邊安放預顯即將出現(xiàn)的方塊類型的窗口、難度級別、得分、游戲狀態(tài)控制按鈕、背景音樂控制按鈕 。 二 、 單機版俄羅斯方塊游戲的類圖 圖 43所示為單機版俄羅斯方塊游戲的類圖。通過分析用例和問題域,就可以等到相關(guān)的類,然后再把邏輯上相關(guān)的類封裝成包。 俄羅斯方塊是一個非常復雜但比較有趣并且耐玩的游戲,游戲中共有 7種方塊,每種方塊由 4個方格組成,如圖 41 所示。每次當方塊到底的時候,都需要檢查一下是否有新的層排滿了,如果有,則應該消層, 如果這個位置已被占用,則游戲結(jié)束,這需要通過調(diào)用前面的檢查模塊來實現(xiàn)。如果方塊到區(qū)域底端了,則應該固定在當前位置,這可以通過調(diào)用前面的畫方塊模塊來實現(xiàn),同時再產(chǎn)生一個新的方法。 其次,分析得到按鍵的含義,做出響應,響應模塊:“左移”、“右移”、“下移”、“丟下”和“旋轉(zhuǎn)”幾個模塊,負責改變當前方塊的狀態(tài)數(shù)據(jù);畫方塊模塊:位置移動后,把方塊畫到新的位置之上;檢查模塊:在每次改變狀態(tài)之前,對方塊企圖占用的區(qū)域進行檢查。 ( 12)俄羅斯方塊雙人對戰(zhàn)版的具體實現(xiàn)。 ( 10)游戲背景音樂的 播放功能 。 ( 8)游戲得分的計算。 ( 6)俄羅斯方塊的自動消行功能。 ( 4)俄羅斯方塊的旋轉(zhuǎn)。 ( 2)俄羅斯方 格 的 表示 ??傮w設(shè)計部分的重要任務就是確定軟件的總體結(jié)構(gòu),也就是要確定系統(tǒng)中每個程序是有哪些模塊組成的,以及這些模塊之間的關(guān)系,同時也包括數(shù)據(jù)庫的設(shè)計??傮w設(shè)計的基本目的就是回答“概括地說,系統(tǒng)應該如何實現(xiàn)?”這個問題 [2]。當成功連接服務器時,玩家可以點擊控制面板上的“開始”按鈕進行對戰(zhàn),此時玩家可以控 制 方塊的狀態(tài),通過畫布繪制方塊來顯示游戲進程,不斷檢查是否有滿行方塊并檢查游戲是否結(jié)束,如果有滿行就移除,當有一方玩家游戲失敗時,發(fā)出游戲結(jié)束消息給游戲主類,此時游戲結(jié)束。 圖 39(a) 服務器端玩家的時序圖 客戶端:玩家進入游戲后,背景音樂自動播放,玩家可以通過控制面板控制背景音樂。 服務器端:玩家進入游戲后,背景音樂自動播放,玩家可以通過控制面板控制背景音樂,然后通過菜單項建立連接,同時還可以設(shè)置操作鍵。 圖 38 單機版游戲的時序圖 雙人對戰(zhàn)版游戲服務器端玩家的時序圖和客戶端玩家的時序圖分別如圖 39(a)和(b)所示。游戲過程中,不斷檢查是否有滿行方塊并檢查游戲是否結(jié)束,如果有滿行就移除,當方塊填滿整個畫布時,游戲結(jié)束。 游戲中單機版游戲的時序圖如圖 38 所示,從圖中可以看到,單機版游戲的時序圖涉及了 8 個對象: player(玩家)、 game(游戲主類)、 music(音樂文件)、 controlPanel(控制面板)、 canvas(畫布)、 block(方塊類)、 enterframe(輸入姓名對話框)、 heroframe進入游戲主界面選擇游戲模式單機版游戲界面單機版雙人對戰(zhàn)版游戲界面雙人對戰(zhàn)版開始游戲設(shè)置方塊顏色設(shè)置難道級別設(shè)置背景顏色設(shè)置窗口風格設(shè)置游戲狀態(tài)連接游戲建立游戲控制游戲狀態(tài)開始開始游戲暫停游戲退出繼續(xù)游戲退出開始游戲設(shè)置背景音樂設(shè)置 15 (排行榜)。 圖 37 俄羅斯方塊游戲的活動圖 五 、 游戲的時序圖 時序圖描述了對象之間傳統(tǒng)消息的時間順序,它用來表示用例中的行為順序。進入雙人對戰(zhàn)狀態(tài)。一旦游戲開始,玩家即可對游戲的狀態(tài)進行控制,包括暫停游戲、繼續(xù)游戲和退出游戲的操作。然后可以開始游戲。選擇相應的模式即可進入游戲。俄羅斯方塊游戲總的活動圖如圖 37所示。 四 、 游戲的活動圖 活動圖是 UML 用于對系統(tǒng)的動態(tài)行為建模的一種常用工具,它描述活動的順序,展現(xiàn)從一個活動到另一個活動的控制流 [4]。如果連接失敗還可以重新連接。雙方建立連接后玩家可以開始游戲,當有一方玩家失敗時,游戲結(jié)束玩家可以重新建立連接或者選擇退出游戲并關(guān)閉服務器。無論游戲是否進行 ,玩家都可以點擊“退出”按鈕或菜單項退出游戲。 圖 34 單機版游戲狀態(tài)圖 單機版:玩家進入單機版游戲模式后,可以點擊“開始”按鈕開始游戲,游戲進行過程中如果游戲最小化或者玩家點擊“暫?!卑粹o或菜單項,則游戲暫停。單機版游戲的狀態(tài)圖如圖 34所示。游戲的包圖如圖 33 所示,通過該圖可以清楚地看到游戲中各個包之間的關(guān)系,為后續(xù)的游戲設(shè)計提供方便。 圖 32 玩家操作游戲的用例圖 二 、 游戲的包圖 包圖是維護和控制系統(tǒng)總體結(jié)構(gòu)的重要建模工具 [4]。 雙人對戰(zhàn)版玩家也可以控制游戲和設(shè)置游戲,但與單機版玩家不同,控制游戲用例方塊定時下移隨機產(chǎn)生方塊報告游戲結(jié)果自動消除滿行方塊更新分數(shù)自動播放背景音樂c o m p u t e r 10 暫停游戲開始游戲旋轉(zhuǎn)方塊 左移方塊丟下方塊下移方塊右移方塊退出從新開始繼續(xù)游戲 e x t e n d e x t e n d 控制游戲狀態(tài) in c l u d e in c l u d e in c l u d e in c l u d e 控制背景音樂暫停播放 in c l u d e 更換音樂 in c l u d e 繼續(xù)播放 in c l u d e 停止游戲 in c l u d e 設(shè)置系統(tǒng)平臺風格設(shè)置主題風格設(shè)置窗口狀態(tài)設(shè)置跨平臺風格 in c l u d e 控制游戲設(shè)置游戲S i n g l
點擊復制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1