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

正文內(nèi)容

基于java的俄羅斯方塊的設(shè)計(jì)與實(shí)現(xiàn)-資料下載頁(yè)

2025-05-07 20:22本頁(yè)面
  

【正文】 包括: ① DoubleBlock:雙人對(duì)戰(zhàn)版游戲的方塊類, 控制塊的移動(dòng)、下落、變形等 。 DoubleGameMenu:雙人對(duì)戰(zhàn)版游戲的 菜單類, 實(shí)現(xiàn) 游戲菜單 和菜單項(xiàng)。 21 圖 44 雙人對(duì)戰(zhàn)版俄羅斯方塊游戲的類圖 ③ DoubleControlPanel:雙人對(duì)戰(zhàn)版游戲的控制面板類, 上邊安放預(yù)顯即將出現(xiàn)的方塊類型的窗口、難度級(jí)別、得分、控制按鈕以及對(duì)方玩家的游戲狀態(tài)窗口。主要用來(lái)控制游戲進(jìn)程。 ④ DoubleGameCanvas:雙人對(duì)戰(zhàn)版 游戲 的 畫布類,負(fù)責(zé)每一個(gè)方塊的繪制 。 ⑤ Data: 傳輸對(duì)象類,為對(duì)象流建立的數(shù)據(jù)傳遞對(duì)象 。 ⑥ DoubleMusic:雙人對(duì)戰(zhàn)版游戲的音樂(lè)類, 實(shí)現(xiàn)背景音樂(lè)播 放 功能、 暫停播放 功能、 繼續(xù)播放 功能 和各種音效播放 功能。 ⑦ DoubleBlocksGame:雙人對(duì)戰(zhàn)版游戲的主類, 負(fù)責(zé)游戲的全局控制 ,繼承于菜單 22 類 。 第四節(jié) 游戲的組件圖 組件圖描述了軟件的各種組件和它們之間的依賴關(guān)系。組件圖中通常包括 3 種元素:組件、接口和依賴關(guān)系。每個(gè)組件實(shí)現(xiàn)一些接口,并使用另一些接口。圖 45所示的是游戲的組件圖。 圖 45 游戲的組件圖 第五節(jié) 游戲的配置圖 圖 46 游戲配置圖 配置圖描述了運(yùn)行軟件的系統(tǒng)中硬件和軟件的物理結(jié)構(gòu),即系統(tǒng)執(zhí)行處理過(guò)程中系統(tǒng)資源元素的配置情況以及軟件到這些資源的映射。圖 46 所示的是游戲的配置圖。 第六節(jié) 面向連接的 Socket 的通信機(jī)制 Socket 是兩個(gè)應(yīng)用程序間用來(lái)進(jìn)行雙向數(shù)據(jù)傳輸?shù)木W(wǎng)絡(luò)接入點(diǎn),它由兩部分組成:俄羅斯游戲系統(tǒng)單機(jī)版游戲雙人對(duì)戰(zhàn)版游戲服務(wù)器端客戶端數(shù)據(jù)庫(kù)服務(wù)器應(yīng)用服務(wù)器游戲主界面單機(jī)版界面雙人版界面 23 地址和端口號(hào)。地址是指應(yīng)用程序所在網(wǎng)絡(luò)主機(jī)的地址,而端口號(hào)是應(yīng)用程序進(jìn)行數(shù)據(jù)傳輸?shù)亩丝诘刂?。由?Socket 采用客戶機(jī) /服務(wù)器模式,因此在 Java 中有兩種 Socket:服務(wù)器 Socket 和客戶 Socket。兩個(gè) Socket 之間需要建立專線連接,如圖 47所示。圖中格子代表邏輯端口,小橢圓代表 Socket 連接正在使用的兩個(gè)邏輯端口。 圖 47 Socket 連接的示意圖 利用面向連接的 Socket 通信機(jī)制可以使兩臺(tái)計(jì)算機(jī)連接到一起,并相互通信。一旦兩臺(tái)計(jì)算機(jī)完成了圖 47所示的連接即可進(jìn)行對(duì)話??蛻魴C(jī)和服務(wù)器之間的區(qū)別只有在客戶機(jī)視圖同服務(wù)器連接的時(shí)候才表現(xiàn)出來(lái),一旦連接成功就變成了一種雙向通信,它們的地位就對(duì)等了。所以服務(wù)器的主要任務(wù)是監(jiān)聽要求建立連接的請(qǐng)求,而客戶機(jī)的任務(wù)是試著與一臺(tái)服務(wù)器建立連接,一旦連接完成,則無(wú)論對(duì)于服務(wù)器和客戶機(jī)而言,連接都成了一個(gè) I/O數(shù)據(jù)流對(duì)象。此時(shí)可以如同讀寫一個(gè)普通的文件那樣來(lái)對(duì)待連接。因此一旦建好連接,只需使用自己熟悉的 I/O 命令讀取文 件即可,這正是 Java 用于網(wǎng)絡(luò)編程的方便之處。 第七節(jié) 數(shù)據(jù)庫(kù)設(shè)計(jì) 一 、 本游戲采用的數(shù)據(jù)庫(kù) MySQL 數(shù)據(jù)庫(kù) 是瑞典的 MySQL AB 公司開發(fā)的一個(gè)可用于各種流行操作系統(tǒng)平臺(tái)的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng),它具有客戶機(jī) /服務(wù)器體系結(jié)構(gòu)的分布式數(shù)據(jù)庫(kù)管理系統(tǒng)。 MySQL 完全適用于網(wǎng)絡(luò),用其建造的數(shù)據(jù)庫(kù)可在因特網(wǎng)上的任何地方訪問(wèn),因此,可以和網(wǎng)絡(luò)上任何地方的任何人共享數(shù)據(jù)庫(kù)。 與其他數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行比較時(shí),所要考慮的最重要的因素是性能、支持、特性、認(rèn)證條件和約束條件、價(jià)格等。相比之下, MySQL 具有功能強(qiáng)、使用簡(jiǎn)單、管理方便 、運(yùn)行速度快、可靠性高、安全保密性強(qiáng)等優(yōu)點(diǎn)。 MySQL 還有一個(gè)最大的特點(diǎn),那就是在Windows 系統(tǒng)上,其客戶機(jī)程序和客戶機(jī)程序庫(kù)是免費(fèi)的。 在本游戲中,由于只有單機(jī)版的排行榜功能涉及到數(shù)據(jù)庫(kù)的插入和查詢,操作比較 IP: Client IP: Server 24 簡(jiǎn)單,不涉及復(fù)雜的操作。因此本游戲采用 MySQL 數(shù)據(jù)庫(kù)。 二 、 本游戲涉及的數(shù)據(jù)表 本游戲中只涉及到一個(gè)排行榜( hero)表格,用來(lái)存儲(chǔ)玩家的名次、姓名和得分。當(dāng)游戲結(jié)束后,玩家可通過(guò)對(duì)話框輸入自己的姓名,如果玩家不輸入姓名直接點(diǎn)擊“確定”按鈕,系統(tǒng)將自動(dòng)記錄玩家的得分。并把結(jié)果輸入的 hero 表中。表 為排行榜數(shù)據(jù)表( hero)。 表 排行榜表( hero) 字段名 類型 長(zhǎng)度 意義 可否為空 關(guān)鍵字 id int 8 序號(hào) N Y name char 35 玩家姓名 Y N score int 18 分?jǐn)?shù) N N 第八節(jié) 游戲的總體流程圖 流程圖是流經(jīng)一個(gè)系統(tǒng)的信息流、觀點(diǎn)流或部件流的圖形代表。使用圖形表示算法的思路是一種極好的方法,因?yàn)榍а匀f(wàn)語(yǔ)不如一張圖。流程圖是由一些圖框和流程線組成的,其中圖框表示各種操作的類型,圖框中的文字和符號(hào)表示操作的內(nèi)容,流程線表示操作的先后次序。 圖 48所示為游戲的總體流程圖。 主要用來(lái)說(shuō)明 游戲的執(zhí)行 過(guò)程 。 說(shuō)明:玩家進(jìn)入俄羅斯方塊游戲主界面后先判斷是否進(jìn)行單機(jī)版游戲,如果是即可開始游戲,直到游戲結(jié)束;如果不是在判斷玩家是否選擇雙人對(duì)戰(zhàn)版游戲,如果是即可開始游戲,直到游戲結(jié)束;如果不是,即可結(jié) 束游戲。 25 開 始進(jìn) 入 游 戲 主 界 面進(jìn) 入 單 機(jī) 版 游戲 否 ?進(jìn) 入 雙 人 版 游戲 否 ?開 始 游 戲結(jié) 束否是是否 圖 48 游戲總體流程圖 第 五 章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 第一節(jié) 詳細(xì)設(shè)計(jì)概述 詳細(xì)設(shè)計(jì)階段的根本目標(biāo)是確定應(yīng)該怎樣具體地實(shí)現(xiàn)所要求的系統(tǒng),也就是說(shuō),經(jīng)過(guò)這個(gè)階段的設(shè)計(jì)工作,應(yīng)該得出對(duì)目標(biāo)系統(tǒng)的精確描述,從而在編碼階段可以把這個(gè)描述直接翻譯成用某種程序設(shè)計(jì)語(yǔ)言書寫的程序。 詳細(xì)設(shè)計(jì)階段的任務(wù)還不是具體地編寫程序,而是要設(shè)計(jì)出程序的“藍(lán)圖”,以后程序員將根據(jù)這個(gè)藍(lán)圖寫出實(shí)際的代碼。因此,詳細(xì)設(shè)計(jì)的結(jié)果基本上決定了最終的程序代碼的質(zhì)量。 第二節(jié) 游戲主界面設(shè)計(jì)與實(shí)現(xiàn) 游戲主界面是設(shè)計(jì)的關(guān)鍵也是游戲主要組成部分。為了增強(qiáng)游戲界面的美化效果,使界面簡(jiǎn)潔直觀。在主界面上添加了 gif 格式的圖片作為背景,并添加了四個(gè)按鈕和一個(gè)進(jìn)度條。游戲的主界面如圖 51 所示。玩家可以通過(guò)單擊按鈕來(lái)選擇游戲模式:?jiǎn)螜C(jī)版或雙人對(duì)戰(zhàn)版。 26 圖 51 游戲主界面 (一) 、 單擊“單機(jī)版”按鈕,進(jìn)入單機(jī)游戲。同時(shí)主界面上的進(jìn)度條開始刷新,當(dāng)前進(jìn)到 100%時(shí),主界面消失。 (二) 、 單擊“雙人對(duì)戰(zhàn)版”按鈕,進(jìn)入雙人對(duì)戰(zhàn)游戲。同時(shí)主界面上的進(jìn)度條開始刷新,當(dāng)前進(jìn)到 100%時(shí),主界面消失。 (三) 、 單擊“幫助”按鈕,進(jìn)入游戲幫助界面,如圖 52。由于游戲操作簡(jiǎn)單,所以僅用圖片幫助形式展現(xiàn)了幫助信息。單擊“確定”按鈕退出該界面。 27 圖 52 俄羅斯方塊幫助信息 圖 53 退出游戲?qū)υ捒? (四) 、 單擊“退出”按鈕,顯示退出游戲?qū)υ捒颍鐖D 53所示。選擇“是”退出游戲,選擇“否”繼續(xù)游戲。 (五) 、 游戲代碼程序在 項(xiàng)目窗口中的類文件瀏覽圖如圖 54所示。 包包含 、 、 包以及以下類。 28 圖 54 游戲程序代碼的類文件瀏覽圖 ● MainFrame :游戲 主界面類,是俄羅斯方塊游戲的主窗口,繼承于 JFrame 類,并實(shí)現(xiàn) ActionListener 和 Runnable 接口。負(fù)責(zé)游戲的全局控制。 通過(guò)單擊按鈕來(lái)選擇游戲的模式:?jiǎn)螜C(jī)版和雙人對(duì)戰(zhàn)版。 ● HelpFrame : 游戲的幫助窗口,該類繼承于 JFrame 類,并實(shí)現(xiàn) ActionListener 接口,主要是通過(guò)圖片顯示來(lái)說(shuō)明游戲的玩法。 ● GameExitSet :退出游戲?qū)υ捒蝾?,繼承于 JDialog 類,單擊 “ 是 ” 退出游戲,單擊 “ 否 ” 繼續(xù)游戲。 ● RussiaBox : 方格類,是組成俄羅斯方塊的基本元素,用自己的顏色來(lái)表示塊的外觀 。 該類實(shí)現(xiàn) Cloneable 接口,從而可以合法地使用 ()方法域到域地拷貝類對(duì)象,否則這種拷貝將會(huì)導(dǎo)致異常 。單機(jī)版和雙人對(duì)戰(zhàn)版俄羅斯方塊的實(shí)現(xiàn)均需用到此類。 第三節(jié) 俄羅斯方格類的設(shè)計(jì)與實(shí)現(xiàn) 俄羅斯方塊的基本元素是 RussiaBox 類。 在語(yǔ)法上它實(shí)現(xiàn)了 Java 平臺(tái)提供的Cloneable 接口。方格類是組成單機(jī)版俄羅斯方格( SingleBlock)類和雙人對(duì)戰(zhàn)版俄羅斯方格( DoubleBlock)類的基本元素,它用自己的顏色來(lái)表示塊的外觀。方塊類由 4 4 個(gè)方格( RussiaBox)構(gòu)成一個(gè)方塊,而游戲窗口是一個(gè)畫布類,這個(gè)畫面內(nèi)有 行數(shù) 列數(shù) 個(gè)方格類實(shí)例。 顯然在俄羅斯方塊游戲中的 行數(shù) 列數(shù) 個(gè)方格中只有兩類方格,即著色方格和未著色方格。要實(shí)現(xiàn)方格對(duì)象的復(fù)制就必須使方格類實(shí)現(xiàn) Cloneable 接口。實(shí)現(xiàn)Cloneable接口 后則表明可以合法地使用 ()在一個(gè)類的實(shí)例之間進(jìn)行域?qū)τ虻貜?fù)制。如果沒有實(shí)現(xiàn)這個(gè)接口又調(diào)用了 Object 的 clone()方法將會(huì)導(dǎo)致拋出CloneNotSupportedException 異常。通常的作法是:一個(gè)類在實(shí)現(xiàn) Cloneable 的接口的同時(shí)用一個(gè) public 類型的方法覆蓋 ()方法( ()在 Object中定義為 protected 類型)。 29 在方格類中用一個(gè) Dimension 對(duì)象表示一個(gè)方格的大小,因此 Dimension 對(duì)象是RussiaBox 類的一個(gè)成員變量。另外,方格類還使用了兩個(gè)與 Dimension 有關(guān)的方法,分別用來(lái)獲得和設(shè)置方格的大小。 Dimension 類封裝了一個(gè)構(gòu)件的高度和寬度,這個(gè)類與一個(gè)構(gòu)件的許多屬性相關(guān)聯(lián),因此在 Component 類中定義多個(gè)與之相關(guān)的方法。Dimension 類的高度值和寬度值都是一個(gè)整數(shù),表明有多少個(gè)像素點(diǎn)。 第四節(jié) 游戲塊的設(shè)計(jì)與實(shí)現(xiàn) 游戲塊是俄羅斯方塊游戲的最基本元素。在設(shè)計(jì)游戲塊的過(guò)程中有以下兩種思路 : ① 利用引入圖形方塊來(lái)構(gòu)造游戲塊,即每一個(gè)游戲格為一個(gè)圖形塊。 ② 利用 Java 中提供的圖形類對(duì)象并對(duì)其著色來(lái)實(shí)現(xiàn)游戲塊。 這里采用第 2種設(shè)計(jì)思路,因?yàn)閳D形類對(duì)象的使用便于進(jìn)一步對(duì)游戲進(jìn)行控制,另外,采用圖形對(duì)象還能在實(shí)現(xiàn)雙人對(duì)戰(zhàn)游戲時(shí)減少數(shù)據(jù)的傳輸量。 首先,定義一個(gè) RussiaBox 類來(lái)表示一個(gè)游戲單元方格,然后定義一個(gè)游戲方塊,該游戲由 4 4 個(gè) RussiaBox 單元格組成,定義 4 4 的游戲方塊是為了便于實(shí)現(xiàn)前面提到的 7種不同的俄羅斯方塊,因?yàn)?7 種俄羅斯方塊的旋轉(zhuǎn)變化恰好都在長(zhǎng)、寬 各位4個(gè)單元格的畫布之內(nèi)。通過(guò)著色方式可以輕松實(shí)現(xiàn)方塊的 28 種不同形態(tài),并對(duì)后續(xù)的游戲運(yùn)行控制提供便利。 圖 55 游戲單元方格 該類用 4位 16進(jìn)制數(shù)表示一個(gè) 4 4 個(gè) 方格組成的方塊,即一個(gè)方塊的狀態(tài),如圖 55所示的一個(gè)橫條,用一個(gè) 4位 16進(jìn)制表 示即為 0x0f00,其中 0x表示 16進(jìn)制, 0x 后 ( 圖 55 0x0f00 表示)的方 的第一個(gè)數(shù) 0表示方塊的第一行沒有填充,第二個(gè)數(shù) f表示方塊的第二行全部填充,由 2)1111(f ? 可以看出 16進(jìn)制的數(shù)對(duì)應(yīng)的二進(jìn)制為 1 時(shí)表示該方格被填充;為 0時(shí)則不填充。 這 28 中狀態(tài)可用如下一個(gè) STYLES 數(shù)組表示出來(lái): public final static int[][] STYLES = { {0x0f00, 0x4444, 0x0f00, 0x4444}, // 長(zhǎng)條型的四種狀態(tài) 30 {0x04e0, 0x0464, 0x00e4, 0x04c4}, // 39。T39。型的四種狀態(tài) {0x4620, 0x6c00, 0x4620, 0x6c00}, // 反 39。Z39。型的四種狀態(tài) {0x2640, 0xc600, 0x2640, 0xc600}, // 39。Z39。型的四種狀態(tài) {0x6220, 0x1700, 0x2230, 0x0740}, // 39。739。型的四種狀態(tài) {0x6440, 0x0e20, 0x44c0, 0x8e00}, // 反 39。739。型的四種狀態(tài) {0x0660, 0x0660, 0x0660, 0x0660}, // 方塊的四種狀態(tài) }。 一個(gè) STYLES 中的元素是用一個(gè)整數(shù)表示的,如橫長(zhǎng)條是用 0x0f00 表示,再用key=0x8000 與 STYLES 的某個(gè)元素 style 進(jìn)行“與”運(yùn)算,即取出了 style 中的第一位,這一位如果是 1,則表示對(duì)應(yīng)的方格在該方塊中是要用色彩來(lái)顯示的,因此產(chǎn)生一個(gè)方格,即一個(gè) RussiaBox對(duì)象。檢查之后再作移位運(yùn)算 key1,如 0x8000移位后變成 0x4000,再利用它進(jìn)行檢查與 style 第二位對(duì)應(yīng)方塊的位置是否應(yīng)該產(chǎn)生一個(gè)有色彩的方格,如此下去,這個(gè)二重 for 循環(huán)
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1