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

正文內(nèi)容

俄羅斯方塊游戲設(shè)計與實現(xiàn)畢業(yè)設(shè)計論文(參考版)

2024-12-03 10:30本頁面
  

【正文】 但這并不表明前途就是渺茫的,通過這次實踐,進行了一次從底而上和自上而下的歸納和演繹的過程,在變化多端的游戲面前,總算領(lǐng)悟了一點它的奧妙。這些資料,使我的眼界更開闊,對課題的認識更加深刻,編寫程序的時候思路更加清楚,少走了很多彎路。 提高了中、英文資料的檢索能力。經(jīng)過長時間的學(xué)習(xí),更進一步熟悉了 Java語言。并實現(xiàn)幾個可演示的游戲軟件,其中有很多應(yīng)用了學(xué)習(xí)的相關(guān)技術(shù),并且做到了圖、文、聲并茂,能實際演示。本文僅以俄羅斯方塊為例予以說明。 24 結(jié) 論 游戲設(shè)計與實踐是一項復(fù)雜而且龐大的工作,在選題之后,我才意識到過程的艱難,因為以前從來沒有接觸過游戲設(shè)計,剛開始時有點迷茫和彷徨。 通過控制層這個大管家最終實現(xiàn)此俄羅斯方塊的按鍵事件的處理以及各種邏輯的處理。 y++) { if(zaw[x][y] == 1) { (x*, 19 y*, , , true)。 x++) { for(int y=0。 } } } 障礙物的顯示 通 過 視 圖 層 的 GamePanel 類的 paint(Graphics g) 方 法 調(diào) 用 Ground 的drawMe(Graphics g) 方法,從而實現(xiàn)障礙物的繪制,代碼如下: public void drawMe(Graphics g) { for(int x=0。 y++) if(getFlagByPoint(x, y)) { (new Shape().shapeColor)。 x++) { for(int y=0。 for(int x=0。 } 利用循環(huán)語句從屏幕最底行依次向上對有方塊的每一行進行判斷, 判斷某一行中是否有空白,如果沒有空白的話, 則 將當前的行號傳遞給 deleteLine(int lineNum)方法 ,由該方法實現(xiàn)消除當前行,并將上面 的方塊依次下移一行,最后再重新調(diào)用deleteFullLine()方法進行查找 ,直到所有行都檢查一遍結(jié)束。 x++) { zaw[x][0] = 0。 } } for(int x=0。 x。 y0。 } } if(full) { deleteLine(y)。 x。 y) { boolean full = true。 代碼如下: 17 private void deleteFullLine() { for(int y=。 } } } } 判斷滿行及消行 如果某一行沒有空白,則這一行就是滿行。amp。 y4。 x4。s accept)。 } return body[tempStatus][y*4 + x] == 1。 代碼如下: public boolean isMember(int x, int y, boolean rotate) { int tempStatus = status。 存儲和表示障礙物 用一個和顯示區(qū)域的面板大小相對應(yīng)的二維數(shù)組保存障礙物的位置信息, 如果對應(yīng)的位置是障礙物,則這個數(shù)組中相應(yīng)的元素就為 1,否則就為 0。實現(xiàn)初始圖形的初始化, 通過 status = (status + 1) % 。 (shapes[type])。通過對按鍵事件的響應(yīng), 實現(xiàn)圖形的左移、右移以及加速下移。 通過多線程 ShapeDriver 類來實現(xiàn)圖形的自動下移, 由于游戲中方塊的動態(tài)性,每個方塊有一定的生命周期,所以選用線程來實 現(xiàn)方塊。 向上移動: top 減 1, 向下移動: top 加 1, 向左移動: left 減 1, 向右移動: left 加 1。 本游戲是用一個三維數(shù)組 int[][][] shapes = new int[][][]; 作為存儲方塊的數(shù)據(jù)結(jié)構(gòu)來保存方塊的 28種狀態(tài)的 。 用“ 0”和“ 1”來表示每個方格是繪制還是空白,由此可以組合出多種圖形, 如圖所示 : 7 6 5 4 3 2 1 隨機產(chǎn)生一個數(shù) 隨機數(shù) 一字形 Z 字形 反 Z形 7字形 反 7 形 倒 T形 田字型 15 其中圖一表示為 {0, 0, 0, 0, 1, 1, 1, 1 , 0, 0, 0, 0, 0, 0, 0, 0} 其中圖二表示為 {0, 0, 0, 0, 0, 1, 1, 0 , 0, 1, 1, 0, 0, 0, 0, 0} 其中圖三表示為 {0, 0, 0, 0, 0, 1, 0, 0 , 0, 1, 1, 1, 0, 0, 0, 0} 其中圖四表示為 {0, 0, 0, 0, 0, 1, 0, 1 , 0, 1, 1, 0, 0, 0, 1, 0} 方塊的旋轉(zhuǎn)是通過繪制 4個方向的方塊,在不同旋轉(zhuǎn)角度顯示不同方向的方塊來完成的。 MVC 模型圖如下所示: 4. 2 系統(tǒng)流程結(jié)構(gòu)設(shè)計 12 4. 3 各個功能模塊圖設(shè)計 模型層 (Model)功能模塊圖設(shè)計 圖形工廠類 圖形類 障礙物類 中央控制器 處理按鍵事件 處理邏輯 顯示面板 顯示 生產(chǎn) 圖形工廠 圖形 障礙物 生產(chǎn) 圖形 下落產(chǎn)生障礙物 觸發(fā)按鍵事件 13 視圖 層 (View)功能模塊圖設(shè)計 控制層 (Controller)功能模塊圖設(shè)計 游戲面板 GamePanel 方塊的顯示 障礙物的顯示 中央控制器 Controller 類 圖形工廠生產(chǎn)圖形 顯示面板顯示圖形和障礙物 處理按鍵和鼠標事件 14 5. 詳細 設(shè)計 模型層 (Model)設(shè)計 圖形的產(chǎn)生 通過圖形工廠類 ShapeFactory的 getShape(ShapeListener listener)方法隨機產(chǎn)生方塊的某種狀態(tài), 這里運用了工廠設(shè)計模式, 這種 設(shè)計模式是為了實現(xiàn)高內(nèi)聚低耦合而存在的 , 這種設(shè)計模式的通俗解釋就是: 你想要一個產(chǎn)品 ,你需要讓工廠給你生產(chǎn)一個 ,你要告訴工廠你要生產(chǎn)什么產(chǎn)品 , 就把你需要生產(chǎn)的這個產(chǎn)品當做參數(shù)傳給工廠類的生產(chǎn)產(chǎn)品的方法 , 然后根據(jù)你傳進來的產(chǎn)品 , 而決定工廠人生產(chǎn)什么產(chǎn)品 , 產(chǎn)生出來產(chǎn)品后 , 最后要返回您要的這個東西 。 所以經(jīng)過再三比較了三種語言后,決定采用 Java語言編寫俄羅斯方塊。但是 C++為了與C語言兼容,其是包含了些面向過程的成分; Java除了 C++中非面向過程的部分,其程序編寫過程就是設(shè)計、實現(xiàn)類,定義其屬性、行為的過程。 面向?qū)ο蟮某绦蛟O(shè)計,是通過數(shù)據(jù)和代碼建立分塊的內(nèi)存區(qū)域,以便提供對程序進行模塊化的一種程序設(shè)計方法,這些模塊可以被用作樣板,在需要時再建立其副本。 所有面向?qū)ο蟮某绦蛟O(shè)計語言一般都包含三個概念:封裝、多態(tài)性和繼承性。 Java 編譯器能夠產(chǎn)生一種與計算機 體系結(jié)構(gòu)無關(guān)的字節(jié)指令,只要安裝了 Java 虛擬機, Java 就可以在相應(yīng)的處理機上執(zhí)行。 (4) 跨平臺 通常,在 Windows 下編寫的程序是不能直接拿到 UNIX 上運行的,因為程序的執(zhí)行最終必須轉(zhuǎn)換成為計算機硬件的機器指令來執(zhí)行,專門為某種計算機硬件和操作系統(tǒng)編寫的程序是不能夠直接放到其他類型的計算機硬件上執(zhí)行的,至少要做移植工作。它的同步機制也保證了對共享數(shù)據(jù)的共享操作,而且線程具有優(yōu)先級的機制,有助于分別使用不同線程完成特定行為,也 提高了交互的實時響應(yīng)能力。同時, Java 編譯器主要是由 Java 本身來實現(xiàn)的, Java 的運行系統(tǒng)(解釋器)由標準 C語言實現(xiàn),因而整個 Java系統(tǒng)都具有可移植性。 (2) 可移植性 Java 具備有很好的移植性,這主要得益于它與平臺無關(guān)的特性。這樣能夠防止他人使用欺騙手段訪問對象的私有成員,也能夠避免在指針操作中易產(chǎn)生的錯誤。而且,由于 C++共享 C的效率,所以用 C++可以構(gòu)成很多高性能的系統(tǒng)軟件。 C++的面向?qū)ο蟮奶匦钥捎行У赜糜趯嶋H的程序設(shè)計工作。 C++既有數(shù)據(jù)抽象和面向?qū)ο竽芰?,語言運行性能高多,加上 C語言的普及,而從 C 至 C++的過渡較為平滑,以及 C++與 C的兼容程度可使數(shù)據(jù)巨大的 C 程序能方便地在 C++環(huán)境中重用。 9 C++的優(yōu)點 C++是對 C語言的擴充,擴充的絕大部分來自著名語言中的最佳特性:從 SIMULA 67中吸取了類,從 ALGOL 68 中吸取了運算符一名多用、引用和在分程序中任何地方說明變量,綜合了 Ada 的類屬和 Clu 的模塊特點,從 BCPL 中吸取異常處理,從 BCPL 中吸取了用 //表示 注釋。 下面簡單介紹下 VB、 C++、 Java各自的優(yōu)點: VB 的優(yōu)點 全稱 Visual Basic,它是以 Basic語言作為其基本語言的一種可視化編程工具。 8 軟硬件需求 操作系統(tǒng): Microsoft Windows XP Professional Service Pack 2 內(nèi)存: 512M 硬盤: 80G CPU: 賽揚 交互工具:鍵盤 /鼠標 顯示器: VGA 顯示器 JDK 版本: Eclipse 版本: 接口控制 本游戲 通過鍵盤進行操作,在 Windows的操作系統(tǒng)下,利用鍵盤的上、下、左、右鍵對方塊進行移動變形,要使用鍵盤的接口事件。 顯示需求: 當不同的方塊填滿一行時可以消行,剩余方塊向下移動并統(tǒng)計分數(shù)。 鍵盤處理事件 需求 : 方塊下落時,可通過鍵盤方向鍵(上、下、左、右鍵)對該方塊進行向上 (變形 ),向下(加速)、向左、向右移動。 游戲功能需求如下: 游戲界面需求: 設(shè)計 良好的游戲界面可以讓玩家充分感受到游戲帶來的娛樂性, 游戲的背景色是黑色, 方塊 用藍色 顏色, 在一定的區(qū)域內(nèi)運動和變形, 落下后的障礙物用黃色顯示, 這樣看起來會有一定的美感。如果落下時,方塊的方格能填滿某一行,則這一行可消去。 這樣有益于提高軟件開發(fā)過程中的能見度,便于對軟件開發(fā)過程中的控制與管理,便于采用工程方法開發(fā)軟件,提高軟件的質(zhì)量,便于開發(fā)人員 、維護人員、管理人員之間的交流、協(xié)作,并作為工作成果的原始依據(jù),并且在向潛在用戶傳遞軟件功能、性能需求,使其能夠判斷該軟件是否與自己的需求相關(guān)。 社會可行性: 本游戲的開發(fā)主要為了完成畢業(yè)設(shè)計, 開發(fā)的主體是個人,不存在法律上的侵權(quán)行為, 也 不會為社會造成影響, 這方面是完全可行的。 可行性分析 技術(shù)可行性: 開發(fā)本游戲的編程語言有多種, 考慮到自身對語言的掌握程度,選擇 JAVA 語言進行游戲的開發(fā), 采用 JAVA GUI 編程來實現(xiàn)界面以及事件的控制。利用現(xiàn)階段 我 所能達到的 能力,以最簡潔、最容易的辦法,邊開發(fā)邊測試 邊修改 ,實現(xiàn)一個初級 游戲 軟件。 條件、假定和限制: 由于知識以及能力的限制,本游戲所實現(xiàn)的功能不夠強大, 可對本游戲進行改善,從而增強游戲的功能。 整個開發(fā)過程遵循軟件工程規(guī)范, 采用 JAVA GUI 編程來實現(xiàn)界面以及事件的控制, 用戶根據(jù)鍵盤的四個方向鍵控制翻轉(zhuǎn)、向左、向右和向下操作 ,通過菜單欄中的相應(yīng)菜單選項實現(xiàn)游戲的開始、結(jié)束、變換方塊、積分以及等級的功能 。 6 2.可行性研究 設(shè)計目的 通過本游戲的設(shè)計,綜合自己在校期間所學(xué)的理論知識,設(shè)計開發(fā)俄羅斯方塊游戲,使自己熟悉應(yīng)用系統(tǒng)的開發(fā)過程,培養(yǎng)獨立思考能力,檢驗學(xué)習(xí)效果和動手能力,初步掌握軟件工程的系統(tǒng)理論,初步掌握 MVC 這種設(shè)計模式,進一步鞏固和加強自身對 j2se基礎(chǔ)知識的理解,提高自己的編程水平,從而達到理論與實踐相結(jié)合的目的。 2020 年 5月,“聯(lián)眾世界”經(jīng)過 3年多的迅速成長,以同時在線 17萬人、注冊用戶約 1800 萬的規(guī)模,成為當時世界用戶數(shù)量第一的在線游戲網(wǎng)站。 2020 年,天人互動軟件技術(shù)有限公司在北京成立。 2020 年初,北京華義在中國大陸地區(qū)正式推出了《石器時代》,華義國際股份有限公司于 1993 年在臺北成立,2020 年在臺灣股票上市。也在 2020 年,繼《萬王之王》、《石器時代》、《網(wǎng)絡(luò)三國》在臺灣上市之后,游戲桔子推出了《天堂》,游戲桔子成立于 1
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1