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

正文內(nèi)容

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

2025-05-07 20:22本頁面
  

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