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

正文內(nèi)容

基于java的俄羅斯方塊的設(shè)計與實現(xiàn)-文庫吧

2025-04-17 20:22 本頁面


【正文】 ................................ 25 第三節(jié) 俄羅斯方格類的設(shè)計與實現(xiàn) ............................................................................... 28 第四節(jié) 游戲塊的設(shè)計與實現(xiàn) ......................................................................................... 29 第五節(jié) 游戲控制的設(shè)計與實現(xiàn) ...................................................................................... 30 第六節(jié) 單機版俄羅斯方塊游戲的設(shè)計與實現(xiàn) ................................................................. 31 第七節(jié) 雙人對戰(zhàn)俄羅斯方塊游戲的設(shè)計與實現(xiàn) ............................................................. 36 結(jié)束語 42 謝辭 44 參考文獻(xiàn) .............................................................................................................................. 45 1 第一章 緒 言 第一節(jié) 選題背景及意義 游戲軟件是一種與文化背景密切聯(lián)系的產(chǎn)品,具有很強的民族性和豐富的文化內(nèi)涵。伴隨著游戲軟件在市場上的銷售,與其相關(guān)的文化也隨之傳播。因此發(fā)展我國自主的益智休閑的游戲軟件已是當(dāng)務(wù)之急。游戲是一種基于計算機的應(yīng)用軟 件,是新型的休閑娛樂方式。當(dāng)前開發(fā)的游戲軟件應(yīng)該做到知識性、娛樂性、趣味性、教育性相統(tǒng)一。 俄羅斯方塊作為 最經(jīng)典的益智休閑游戲之一 , 截至 2021 年 已經(jīng) 發(fā)售了 億份,受到 50多個國家和地區(qū)的玩家喜愛,有超過 50 種語言的版本,運行在幾十種游戲平臺上,從掌機、街機、個人電腦,到手機和 PDA。 本游戲 根據(jù)軟件工程有關(guān)的規(guī)范,以合理的開發(fā)原則,設(shè)計出 綜合了 單機 版和雙人對戰(zhàn)版兩種模式的 俄羅斯方塊游戲,給人們的生活帶來唯美的藝術(shù)享受和健康愉快的補充。 第二節(jié) 選題目的 改善現(xiàn)存俄羅斯方塊游戲的單一模式, 開發(fā)出一 個可操作性、美觀性、及時性的俄羅斯方塊游戲。本游戲綜合了單機版和雙人對戰(zhàn)版兩種模式, 用戶可任選一種進行游戲 。方便簡單又快捷,是娛樂休閑的好方法。 游戲中提供了漂亮 美觀 的 界面 和動聽的音樂,使得 游戲的 視覺表現(xiàn) 與 用戶界面 及背景音樂, 融合為有機的 整體 ,給人們帶來更 為 豐富的娛樂和體驗 ,同時也 給 玩家 帶來無限激情。 在當(dāng)前的游戲開發(fā)領(lǐng)域中, Java 有自己的獨到之處,用 Java 編寫的代碼簡單明了、可移植性強,所以本游戲的開發(fā)采用面向?qū)ο蟮脑O(shè)計方法,采用開源開發(fā)環(huán)境 ,界面利用 Java Swing 提供 的圖形類實現(xiàn),游戲塊的運行采用多線程( Thread)機制。 第三節(jié) 研究內(nèi)容 本游戲包括兩種游戲模式:單機版和雙人對戰(zhàn)版。在整個游戲的開發(fā)過程中涉及到Java 基本知識的大部分內(nèi)容,如事件、線程、動畫、雙緩沖圖像、圖形界面、 Socket數(shù)據(jù)傳輸?shù)确矫娴闹R。主要內(nèi)容如下: 一 、 Java GUI 編程 2 利用 Java 實現(xiàn)的俄羅斯方塊幾乎能用到 Java GUI 的所有方面,其中包括 Sun 公司為 Java 提供的兩個圖形界面類庫: AWT:其中提供了建立和設(shè)置 Java 的圖形用戶界面的基本工具。 AWT 由 Java 中的 包提供,里面包含了許多可用來建立與平臺無關(guān)的圖形用戶界面( GUI)的類,這些類被稱為構(gòu)件( Components) [1]。 Swing:是 Java Foundation Classes( JFC)的一部分,與 ATW 的重量級構(gòu)件不同,Swing 中大部分是輕量級構(gòu)件。正是這個原因, Swing 幾乎無所不能,不但有各式各樣先進的構(gòu)件,而且更為美觀易用。 在本俄羅斯方塊游戲的實現(xiàn)中,主要采用 Swing 類庫。 (一) 、 基本窗口類 圖形用戶界面的程序效果類似于 Windows 系統(tǒng)下運行的 程序。在俄羅斯方塊游戲中用到 JFrame 、 JWindow 、 JPanel 和 JDialog 等幾種窗口類。 (二) 、 原子構(gòu)件: 俄羅斯方塊游戲中用到的原子構(gòu)件很多,如: JLabel 、 JButton 、 JColorChooser、 JTextField 、 JTextArea 等,這些構(gòu)件的用法比較簡單。 (三) 、 菜單類: 對一個大的 GUI 程序而言通常包括各種菜單,俄羅斯方塊游戲中也包含多種菜單,如: JMenu 、 JMenuItem 、 JMenuBar 等, Java 為這些菜單構(gòu)件提供了相應(yīng)的類。 (四) 、 事件處理: 大多數(shù)的 Java 程序通過 GUI 構(gòu)件(例如按鈕、窗口、菜單等)與用戶進行交互,俄羅斯方塊游戲也是如此。俄羅斯方塊游戲與用戶最重要的交互活動時用戶通過鍵盤來控制游戲、通過按鈕和菜單來設(shè)置游戲。前者在 Java 中表現(xiàn)為鍵盤事件,后者表現(xiàn)為動作事件。在 Java 中事件由分層的事件類表示,而接口則描述了對特定事件的響應(yīng)方法。想要處理這些事件的類就必須實現(xiàn)一個或多個接口以及這些接口中的方法。 (五) 、 布局管理: Java 語言中,提供了布局管理器這個工具來管理組件 在容器中的布局 [2]。布局管理器按照布局說明選擇構(gòu)件的最佳位置,保證布局的總體外觀在不同的操作系統(tǒng)下與Java 程序的描述保持一致。 一個布局管理器確定各構(gòu)件在顯示區(qū)域的次序、相對大小和相對位置。布局管理器在 AWT 中定義為接口, Java 提供了若干類來實現(xiàn)它,其中最基本的類有: FlowLayout 、 GirdLayout 、 BorderLayout 。 (六) 、 圖形類與圖形的繪制: 使用 Graphics 類提供的繪圖方法“ public void paint(Graphics g)”可以畫出線條、矩形、 圓形等圖形。 3 由于 Frame 類繼承于 Component 類,所以可以通過覆蓋所繼承的 paint 方法來進行繪圖。還有一種很流行的繪圖方法,即創(chuàng)建一個單獨的類,這個類繼承于 Canvas 類并且覆蓋 paint 方法。俄羅斯方塊游戲采用的是繼承于 Canvas 類的方式。 ① Graphics 類 Graphics 類用于在一個可視構(gòu)件內(nèi)繪圖。一個 Graphics 對象包含了繪圖所必需包含的信息,其中包括坐標(biāo)、色彩、字體和剪貼板區(qū)。繪圖在一個二維整數(shù)坐標(biāo)系中進行,該坐標(biāo)的原點在構(gòu)件的左上角。 X 軸在水平方向上從左至右增長, Y 軸在垂直方向上從上至下增長。 ② Canvas 類 Canvas 是一個具有自己坐標(biāo)系統(tǒng)的構(gòu)件,使用布局管理器可以確定它在其他構(gòu)件中的位置。 Canvas 繼承于 Component 類,并繼承了它的 paint(Graphics g)、update(Graphics g)以及 repaint()方法。 使用 Canvas作為繪圖工具時首先創(chuàng)建一個類繼承于 Canvas類并且覆蓋 paint方法,再將這個類作為一個成員加入到類似于 Frame 或 Applet( JFrame 或 JApplet)的類中,用某種布局管理器對其進行定位。這 個類需要完成如下工作: Frame 或 Applet( JFrame 或 JApplet)作為控制者確定所有構(gòu)件的位置、處理用戶的輸入、處理其他對象的交互。 利用 Canvas 處理繪圖,它的最重要的方法是 paint,該方法可以被覆蓋。在必要的時候還可以自己定義一些用于繪圖的輔助方法。 無論使用 Graphics 還是使用 Canvas 作為圖形對象,都可在需要更新時自動調(diào)用repaint 方法。 repaint 方法也可以直接在繪圖程序中調(diào)用。在 repaint 中需要調(diào)用update 方法, update 方法在清除屏幕后再調(diào)用 paint 方法。 paint 方法也可以被實際應(yīng)用需要的繪圖代碼進行覆蓋。 二 、 Java 多線程機制 俄羅斯方塊的實現(xiàn)充分利用了 Java的線程功能。在游戲過程中需要對玩家的控制進行實時處理。由于游戲中方塊的動態(tài)性,每個方塊都有一定的生命周期,所以選用線程來實現(xiàn)方塊。一個方塊用一個線程對象實現(xiàn),該類繼承于 Thread 類,當(dāng)一個方塊出現(xiàn)時也就表示一個線程產(chǎn)生并開始運行。通過對鍵盤消息的響應(yīng),實現(xiàn)移動、下落、變形等操作。 利用多線程可以使整個游戲的結(jié)構(gòu)更加松散耦合,使資源更加平衡,使用戶的操作更加方便。 三 、 Java 與網(wǎng)絡(luò)通信 網(wǎng)絡(luò)編程的目的就是直接或間接地通過網(wǎng)絡(luò)協(xié)議與其他計算機進行通信。在網(wǎng)絡(luò)編程中有三個主要問題: 4 ● 如何準(zhǔn)確定位網(wǎng)絡(luò)上的一臺或多臺主機。 ● 如何進行連接。 ● 連接后如何可靠高效地進行數(shù)據(jù)傳輸。 這幾個問題也是實現(xiàn)俄羅斯方塊雙人對戰(zhàn)版游戲的關(guān)鍵所在。下面首先了解如何實現(xiàn)主機定位、建立通信和數(shù)據(jù)傳輸。 (一) . 主機定位 在 TCP/IP協(xié)議中 IP層主要負(fù)責(zé)網(wǎng)絡(luò)主機的定位、數(shù)據(jù)傳輸?shù)穆酚桑?IP地址可以唯一地確定 Inter 上的一臺主機。 TCP 則提供面向應(yīng)用的數(shù)據(jù)傳輸機制,這是網(wǎng)絡(luò)編程的主要對象 ,一般情況下不需要關(guān)心 IP 層是如何處理數(shù)據(jù)的。 通常在一臺主機上總是有多個進程 需要網(wǎng)絡(luò)資源進行網(wǎng)絡(luò)通信。準(zhǔn)確的講網(wǎng)絡(luò)通信的對象不是主機,而是主機中運行的進程。這是僅通過主機名或 IP 地址來標(biāo)識這么多進程顯然是不夠的。端口號就是為了在一臺主機上提供更多的網(wǎng)絡(luò)資源而采取的一種手段也是 TCP 提供的一種機制。只有通過主機名或 IP 地址與端口號的組合才能唯一確定網(wǎng)絡(luò)通信中的對象,即進程。 (二) . 建立通信 網(wǎng)絡(luò)數(shù)據(jù)通信具有兩種不同的傳輸機制:一種是面向連接的通信協(xié)議,這種傳輸方式在數(shù)據(jù)傳送前必須先在兩端建立連接,并且所傳送的數(shù)據(jù)不會丟失,這種方式稱為 TCP;另一種方式則是面向非連接的方式,即傳送數(shù)據(jù)前無需先建立連接,而是將 所要傳送的數(shù)據(jù)包成一個個分組再傳送,使用這種方式時,由于沒有額外 的控制,所以傳送的數(shù)據(jù)可能丟失,這種方式成為 UDP。 TCP和 UDP都是傳輸層上的通信協(xié)議,也是一般 TCP/IP網(wǎng)絡(luò)上最常使用的通信協(xié)議,且各有用途。在 Java 中以類庫的形式提供了對這兩種不同協(xié)議的支持。為了提高俄羅斯方塊游戲數(shù) 據(jù)傳輸?shù)目煽啃?,雙人對戰(zhàn)版游戲的開發(fā)將通過 TCP 通信技術(shù)實現(xiàn)游戲中的數(shù)據(jù)傳輸。 (三) . 數(shù)據(jù)傳輸 通信機制建立后就要進行數(shù)據(jù)傳輸,即要在這個通信機制上建立數(shù)據(jù)流。如果要將數(shù)據(jù)發(fā)往對方,則要建立數(shù)據(jù)輸出流;如果要讀取數(shù)據(jù)則要建立數(shù)據(jù)輸入流。特別是如果要保存和讀取整個對象,則需要創(chuàng)建一些存儲對象的成員變量和讀取成員變量的方法,而且對象中的成員變量最好能夠自動地被保存和讀取。 Java可以支持將對象作為一個整體通過流進行傳輸和存儲,但必須將對象序列化后才能保證有效地存儲和讀取對象。 5 第二章 可行性研究 第一節(jié) 引言 系統(tǒng)開發(fā)的總體任務(wù)是實現(xiàn)游戲的可操作性、美觀性、及時性。本游戲開發(fā)過程遵循軟件工程規(guī)范,采用結(jié)構(gòu)化和面向?qū)ο蠓治鲈O(shè)計方法。主要實現(xiàn) windows 的 GUI 程序開發(fā),對游戲中的圖形圖像進行鍵盤控制。游戲者可以通過上下左右鍵及空格鍵來對游戲進行操作。 下面從技術(shù)、經(jīng)濟、操作、法律三個方面分析本系統(tǒng)的可行性 : 第二節(jié) 技術(shù)可行性 可用于本游戲的編程語言有 Java 、 VC++、 C.NET等,考慮到編寫程序的難易程度,和對語言的了解程度以及各種編程語言自身的特點,選擇樂 Java 作為編程語言進行開發(fā)。 首先 ,作為一種程 序設(shè)計語言 ,Java 是一種 簡單 的 、 面向?qū)ο蟮?、分布式的、健壯的、安全的、結(jié)構(gòu)中立的、易移植的、多線程的動態(tài)語言。它 不依賴于機器的結(jié)構(gòu) , 并且提供了并發(fā)的機制、具有很高的性能。其次 ,它最大限度地利用了網(wǎng)絡(luò) , Java 的小應(yīng)用程序可在網(wǎng)絡(luò)上傳輸而不受 CPU 和環(huán)境的限制。另外 ,Java 還提供了豐富的類庫 ,使程序設(shè)計者可以很方便地建立自己的系統(tǒng)。 同時還利用 了 MySQL 數(shù)據(jù)庫系統(tǒng)作為其后臺數(shù)據(jù)庫, 實現(xiàn)排行榜的存儲和查詢, 確保了該系統(tǒng)中數(shù)據(jù)處理的高效性、快速性和安全性 。 第三節(jié) 經(jīng)濟可行性 本游戲 是為 豐富人們業(yè)余生活 開發(fā)的,規(guī)模適中,工作復(fù)雜性低,實用性強。從開發(fā)人力、物力、時間上考慮,開發(fā)成本少。而且利用了 開源開發(fā)環(huán)境 , 加快了開發(fā)進度,大大的縮短了開發(fā)周期,節(jié)省了人力、物力、時間,提高了項目開發(fā)的效率,降低了開發(fā)成本。由于需求分析完整,減少了很多后期維護的復(fù)雜性。另外,本系統(tǒng)具有 很實用的 現(xiàn)實意義。 因此,從經(jīng)濟角 度考慮 本系統(tǒng) 的開發(fā)在經(jīng)濟上是完全可行的。 第四節(jié) 操作可行性 本游戲是采用 java 的 GUI ( 圖形用戶界面 ) 組件創(chuàng)建的簡單有好的操作界面,運
點擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1