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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于java的俄羅斯方塊游戲設(shè)計(jì)-在線(xiàn)瀏覽

2025-02-05 19:30本頁(yè)面
  

【正文】 書(shū) 第 4 頁(yè) 共 28 頁(yè) Java 的編程類(lèi)似 C++,但舍棄了 C++的指針對(duì)存儲(chǔ)器地址的直接操作,程 序 運(yùn)行時(shí),內(nèi)存由操作系統(tǒng)分配,這樣可以避免病毒通過(guò)指針入侵系統(tǒng)。 ( 3) 面向?qū)ο? Java 吸收了 C++面向?qū)ο蟮母拍?,將?shù)據(jù)封裝于類(lèi)中,實(shí)現(xiàn)了程 序 的簡(jiǎn)潔性和便于維護(hù)性,使程 序 代碼可以只需一次編譯就可反復(fù)利用。 ( 5) 健壯性 Java 致力與檢查程 序 在編譯和運(yùn)行時(shí)的錯(cuò)誤,并自動(dòng)回收內(nèi)存,減少了內(nèi)存出錯(cuò)的可能性。 Java ME 語(yǔ)言 什么是 Java ME Java ME是 SUN 公司針對(duì)嵌入式、消費(fèi)類(lèi)電子產(chǎn)品推出的開(kāi)發(fā)平臺(tái),與 Java SE和 Java EE共同組成 Java 技術(shù)的三個(gè)重要的分支。比如 規(guī)范就是在 JSR118 中制定的。這些就是在相關(guān)規(guī)范中制定的。作為一個(gè)完整的 JRE, Java ME 由配置和簡(jiǎn)表組成,配置決定了使用的 JVM,而簡(jiǎn)表通過(guò)添加特定于域的類(lèi)來(lái)定義應(yīng)用程序 。 簡(jiǎn)表定義應(yīng)用程 序 ;特別地,它向 Java ME 配置中添加特定于域的類(lèi),定義設(shè)備的某種 功能起很大作用 。 (2) Java ME是一 個(gè)自由的和開(kāi)放的平臺(tái)。 (3) 它的高度可移植的特性 (書(shū)寫(xiě)一次到處運(yùn)行 )保證一部為一個(gè)品牌 /類(lèi)型的手持設(shè)備開(kāi)發(fā)的游戲應(yīng)用程 序 ,將可以工作在其它類(lèi)型的支持 Java 的手持設(shè)備品牌 /類(lèi)型上。 Java ME包含移動(dòng)信息設(shè)備輪廓 (MIDP)API,它的設(shè)計(jì)是為專(zhuān)門(mén)開(kāi)發(fā)包括手機(jī)在內(nèi)的移動(dòng)設(shè)備應(yīng)用程 序 。 Java ME 的分類(lèi)及組成 Java ME把設(shè)備分為兩類(lèi),一種是聯(lián)接設(shè)備( connected device),一種是有限聯(lián)接設(shè)備( Connected, Limited Device)。例如:電視機(jī),冰箱等,后一種對(duì)應(yīng)于主要使用電池,小型的設(shè)備,例如:手機(jī), pda等。 configuration包括虛擬機(jī)( virtual machine),核心的類(lèi)庫(kù)與 API。也就是說(shuō), configuration層提供了開(kāi)發(fā)人員一個(gè)最 基礎(chǔ) ,最核心的 Java平臺(tái)。對(duì)應(yīng)這兩種設(shè)備就有了兩種 Java ME configuration。這里請(qǐng)注意, CDC使用經(jīng)典的Java VM,而 CLDC使用的是 KVM(The K Virtual Machine) [9]。 中北大學(xué) 2021 屆 畢業(yè) 設(shè)計(jì)說(shuō)明書(shū) 第 6 頁(yè) 共 28 頁(yè) Profile層也包含一組 API,主要針對(duì)于特定的某一族系的設(shè)備而定義。對(duì)于手機(jī), PDA等 Connected, Limited Device,它們的 profile層稱(chēng)為MIDP(Mobile Info rmation Device Profile), 于是 MIDP與 CLDC合在一起就構(gòu)成了一個(gè)完整的 Java ME架構(gòu)。它有一些非常重要的特征對(duì)所有組織都有益 Java ME 使用配置和簡(jiǎn)表定 制 Java 運(yùn)行時(shí)環(huán)境 (JRE)。 配置將基本運(yùn)行時(shí)環(huán)境定義為一組核心類(lèi)和一個(gè)運(yùn)行在特定類(lèi)型設(shè)備上的特定 JVM。雖然 Java SE 虛擬機(jī)通常被稱(chēng)為一種 JVM,但是 Java ME 虛擬機(jī)、 KVM 和 CVM 都是 JVM 的子集。 移動(dòng)通信的時(shí)代即將來(lái)臨,通信相關(guān)待業(yè)變得前景可期,而除了移動(dòng)通信的主要通信工具 — 手機(jī),其功能越來(lái)越強(qiáng)大之外,有更多的廠(chǎng)商相繼投入移動(dòng)通信設(shè)備的生產(chǎn)與開(kāi)發(fā),其平臺(tái)和操作系統(tǒng)的復(fù)雜度比目前混亂的 PDA 有過(guò)之而不及,除了Symbian 針對(duì)手機(jī)推出操作系統(tǒng) Symbian OS(過(guò)去 稱(chēng)作 EPOC)操作系統(tǒng)之外,微軟也針對(duì)手機(jī)推出操作系統(tǒng) Smartphone 2021 (Stinger),但是日前市面上的手機(jī)仍以使用廠(chǎng)商自行開(kāi)發(fā)的操作系統(tǒng)者 居多 [10]。如果每個(gè)平臺(tái)都有自己的程 序 寫(xiě)法以及程 序 庫(kù),那么光是看上面這些平臺(tái)至少就要學(xué)習(xí)五種以上程 序 的寫(xiě)法??墒浅?序 員不禁要說(shuō): “ 如果我們寫(xiě)出來(lái)的軟件可以在不經(jīng)過(guò)修改源代碼的情況下就能夠在這些平臺(tái)上執(zhí)行,那不是更完美嗎?“ 對(duì)程 序 開(kāi)發(fā)人員來(lái)說(shuō),這樣的投資報(bào)酬率當(dāng)然是最大的。要中北大學(xué) 2021 屆 畢業(yè) 設(shè)計(jì)說(shuō)明書(shū) 第 7 頁(yè) 共 28 頁(yè) 解決這個(gè)問(wèn)題,一般來(lái)說(shuō)程 序 員會(huì)選用一個(gè)可以跨平臺(tái)的 Framework 來(lái)達(dá)成至少source code level 的跨平臺(tái)。利用 Java 撰寫(xiě)手機(jī)上的程 序 當(dāng)然有其缺點(diǎn),最廣為人知的可能就是執(zhí)行效率的問(wèn)題, Java 在執(zhí)行速度這個(gè)議題上一直讓人詬病。更何況,當(dāng) Sun 在設(shè)計(jì) Java ME 的時(shí)候,也用了很多方式企圖加快 Java 在手機(jī)上的執(zhí)行速度。 中北大學(xué) 2021 屆 畢業(yè) 設(shè)計(jì)說(shuō)明書(shū) 第 8 頁(yè) 共 28 頁(yè) 3 系統(tǒng)分析 目標(biāo)任務(wù) 本 設(shè)計(jì) 是 一款 Java 小 游戲,由于其運(yùn)行在手機(jī)上,沒(méi)有 PC機(jī)上多畫(huà)面顯示和多任務(wù)操作,所以要求該游戲易于在用戶(hù)界面和游戲界面之間切換,它們之間的信息傳遞通過(guò)接口來(lái)實(shí)現(xiàn)。 本 程 序 中要解決的 有關(guān)技術(shù) 問(wèn)題 (1) 手機(jī)游戲程 序 是一個(gè)小型的實(shí)時(shí)系統(tǒng),每秒鐘要運(yùn)行上千行程 序 ,繪圖事件和鍵盤(pán)事件都以很高的頻率在后臺(tái)等待響應(yīng)。因此,其邏輯設(shè)計(jì)應(yīng)當(dāng)相當(dāng)嚴(yán)謹(jǐn),需將所有可能發(fā)生的事件及意外情況 。 (2) 游戲都有一定的模式,手機(jī)游戲也不例外,所以為了增加可玩性,我們?cè)O(shè)置了相關(guān)難度的調(diào)節(jié)算法 。在 俄羅斯方塊 游戲中,游戲場(chǎng)景比較簡(jiǎn)單,只 需要手機(jī)屏幕顯示的固定矩形區(qū)域,游戲?qū)ο笠脖容^簡(jiǎn)單,只是 七種方塊 。至于流 程控制,初始時(shí)游戲場(chǎng)景 為空 ,隨著游戲的進(jìn)行, 不斷有新的方塊落下 ,分?jǐn)?shù)也增加,當(dāng)分?jǐn)?shù)增加到一定程度,則 方塊下落 的速度加快 [12]。除開(kāi)發(fā)過(guò)程中對(duì)結(jié)構(gòu)上的控制、變量的使用、算法的優(yōu)化等優(yōu)化外,還可以使用混淆器(Obfuscator)進(jìn)行程 序 打包后的優(yōu)化。良好易操作的用戶(hù)界面是吸引用戶(hù)的 硬指標(biāo) [13]。 MIDP 應(yīng)用程 序 是指遵循由應(yīng)用程 序 主體( jar文件)和應(yīng)用程 序 描述文件( jad文件)組成 。 JAR 文件實(shí)際上是一個(gè) 具有壓縮和打包性質(zhì)的獨(dú)立文件。主要功能是向應(yīng)運(yùn)程 序 管理器提供對(duì)應(yīng)的 JAR 文件的信息,該信息提示了此套件是否滿(mǎn)足目標(biāo)硬件的運(yùn)行要求 [14]。這三種狀態(tài)的轉(zhuǎn)換關(guān)系如圖 : MIDlet有三個(gè)狀態(tài) , 分別是 pause、active和 destroyed。在 active狀態(tài)調(diào)用 destroyApp(boolean unconditional)或者pauseApp()方法可以使得 MIDlet進(jìn)入 destroyed或者 pause狀態(tài)。在 destroyed狀態(tài)的MIDlet必須釋放了所有的資源,并且保存了數(shù)據(jù)。 Canvas 類(lèi) 為了能有程 序 開(kāi)發(fā)人員控制接口的外觀和行為,需要使用大量的初級(jí)用戶(hù)接口類(lèi),尤其在游戲程 序 中,幾乎完全依賴(lài)的就是 Canvas 抽象類(lèi)進(jìn)行繪圖。 Canvas 提供了鍵盤(pán)事件、指點(diǎn)桿事件(如果設(shè)備支持),并定義了允許將鍵盤(pán)按鍵映射為游戲控制鍵的函數(shù)。應(yīng)當(dāng)將鍵代碼轉(zhuǎn)換為游戲鍵的代碼,以便硬件開(kāi)發(fā)商能定義他們自己的游戲鍵布局 。它具有 24位深度色彩的繪制能力,以三原色分別各占一個(gè)字節(jié)表示其顏色。其對(duì)象會(huì)被傳給 Canvas 的 paint()函數(shù),以便最終顯示。 游戲 場(chǎng)景繪制 模塊 專(zhuān)門(mén)完成游戲場(chǎng)景的繪制,主要是 方塊 的分布,另外也繪制一些和游戲相關(guān)的信息,如當(dāng)前的級(jí)別和得分等 。 游戲場(chǎng)景狀態(tài) 負(fù)責(zé)存儲(chǔ)當(dāng)前游戲 場(chǎng)景中 方塊 的分布狀況,以及存儲(chǔ)一些同游戲相關(guān)的信息,如當(dāng)前級(jí)別和得分 。是游戲的入口類(lèi),控制所有類(lèi)的運(yùn)行和銷(xiāo)毀。 init()。//新建主菜單類(lèi) 中北大學(xué) 2021 屆 畢業(yè) 設(shè)計(jì)說(shuō)明書(shū) 第 14 頁(yè) 共 28 頁(yè) (menu)。 break。 break。 break。 break。 break。 break。 break。 Ground 類(lèi)繼承了 Canvas 類(lèi)并實(shí)現(xiàn)了 CommandListener接口。 Ground 類(lèi)的構(gòu)造方法 : public Ground(MainControl mainControl) { = mainControl。//初始化游戲背景即數(shù)據(jù),并開(kāi)始游戲。//繪制背景 deleteFullLine(g)。//繪制已經(jīng)變?yōu)槭^的方塊 if (currentShape[front].getTop() = 0) //判斷當(dāng)前活動(dòng)方塊是否在容器區(qū)域內(nèi) currentShape[front].drawMe(g)。//繪制其他游戲數(shù)據(jù),包括等級(jí),得分等 } 驅(qū)動(dòng)當(dāng)前圖形下落的內(nèi)部類(lèi): class ShapeDriver extends Thread { public void run() { while (true) { if (!isLive) {//判斷游戲是否正在進(jìn)行中,如果游戲結(jié)束則終止線(xiàn)程 return。amp。 //驅(qū)動(dòng)當(dāng)前活動(dòng)方塊下落 try { if (flag) (30)。//控制速度 } catch (InterruptedException e) { if () { while (currentShape[front].isPause()) { //如果游戲暫停, 則暫停線(xiàn)程 try { (100)。 } else return。 } } if (![front].isPause()) { flag = false。//將當(dāng)前活動(dòng)方塊變?yōu)槭^ score += 15。 front = (front + 1) % LENGTH_OF_QUEUE。 currentShape[rear] = ()。 currentShape[front].setRelativeY(relativeY)。//更新游戲數(shù)據(jù) } } } 游戲的方塊類(lèi)實(shí)現(xiàn): 游戲中的方塊是由一個(gè)一個(gè)的小方格組成的,每個(gè)方塊保存為一個(gè) 4*4 的 int形數(shù)組。方塊類(lèi)負(fù)責(zé)維護(hù)自己在容器中的位置,是否活動(dòng) 等信息 ,以及 繪制自身等。 = status。 for (int y = 0。 y++) for (int x = 0。 x++) if (isInMe(x, y, false)) height = y + 1。//
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1