嵌入式大作業

2022-11-27 10:24:02 字數 3527 閱讀 4819

anroid手機遊戲製作

實驗報告

指導老師:孫江敏

本遊戲在技術方面已經發展的很成熟,我們通過學習了android開發和j**a語言以及遊戲製作相關的知識,就可以完成製作。

作業系統:windows 7

程式語言:j**a

ide:eclipse

開發語言與開發環境介紹:

1、eclipse、

eclipse 是乙個開放源**的、基於 j**a 的可擴充套件開發平台。就其本身而言,它只是乙個框架和一組服務,用於通過外掛程式元件構建開發環境。幸運的是,eclipse 附帶了乙個標準的外掛程式集,包括 j**a 開發工具(j**a development tools,jdt)。

eclipse是乙個開放源**的軟體開發專案,專注於為高度整合的工具開發提供乙個全功能的、具有商業品質的工業平台。它主要由eclipse專案、eclipse工具專案和eclipse技術專案三個專案組成,具體包括四個部分組成——eclipse platform、jdt、cdt和支援j**a開發、cdt支援c開發、pde用來支援外掛程式開發,eclipse platform則是乙個開放的可擴充套件ide,提供了乙個通用的開發平台。它提供建造塊和構造並執行整合軟體開發工具的基礎。

2、j**a語言:

(1)物件導向

物件導向其實是現實世界模型的自然延伸。現實世界中任何實體都可以看作是物件。物件之間通過訊息相互作用。

另外,現實世界中任何實體都可歸屬於某類事物,任何物件都是某一類事物的例項。如果說傳統的過程式程式語言是以過程為中心以演算法為驅動的話,物件導向的程式語言則是以物件為中心以訊息為驅動。用公式表示,過程式程式語言為:

程式=演算法+資料;物件導向程式設計語言為:程式=物件+訊息。

(2)平台無關性

j**a是平台無關的語言是指用j**a寫的應用程式不用修改就可在不同的軟硬體平台上執行。平台無關有兩種:源**級和目標**級。

c和c++具有一定程度的源**級平台無關,表明用c或c++寫的應用程式不用修改只需重新編譯就可以在不同平台上執行。

(3)分布式

分布式包括資料分布和操作分布。資料分布是指資料可以分散在網路的不同主機上,操作分布是指把乙個計算分散在不同主機上處理。

(4)可靠性和安全性

j**a最初設計目的是應用於電子類消費產品,因此要求較高的可靠性。j**a雖然源於c++,但它消除了許多c++不可靠因素,可以防止許多程式設計錯誤。首先,j**a是強型別的語言,要求顯式的方法宣告,這保證了編譯器可以發現方法呼叫錯誤,保證程式更加可靠;其次,j**a不支援指標,這杜絕了記憶體的非法訪問;第三,j**a的自動單元收集防止了記憶體丟失等動態記憶體分配導致的問題;第四,j**a直譯器執行時實施檢查,可以發現陣列和字串訪問的越界,最後,j**a提供了異常處理機制,程式設計師可以把一組錯誤**放在乙個地方,這樣可以簡化錯誤處理任務便於恢復。

(5)多執行緒

執行緒是作業系統的一種新概念,它又被稱作輕量程序,是比傳統程序更小的可併發執行的單位。

3.1、j2me簡介:

現在j**a-j**a2 platform大致可分為j2se、j2ee、j2me三類。j2se為j**a-j**a2 platform 的標準版,通常在pc上使用的j**a。j2ee是在j2se的api上,擴充套件了給企業使用ejb與servlet等主要使用在伺服器上的功能。

而j2me則是面向家電和通訊工具等微小裝置。

j2me的目標是微小裝置,這類裝置有許多種類,在這些裝置的j2me當中,定義了cdc(connected device configuration),cldc(connected limited device configuration)這兩個configuration。

cdc是以能用在個人閘道器、下一代移動**、pda(個人數字助理)、家電裝置、pos終端、車輛導航系統等上執行為前提設計出來的。cldc,是以能使用在移動**、pda(個人數字助理)、家電裝置、pos終端等上面為前提設計出來的。

3.2、j2me 體系結構:

配置和簡表:配置定義了乙個設計在一系列類似硬體上執行的j**a平台的能力。j2me的目標是家電與嵌入式裝置,這類裝置有很多種類,對應這些裝置的j2me當中,定義了cdc(連線裝置配置)和cldc(受限接裝置配置)兩個配置,配置所提供的類函式只有 包等j2se等核心類的子集。

cldc是與手機相關的,它實際是定義乙個裝置製造商用來實現j**a執行環境的標準,第三方開發者只需要遵循這個標準。cldc主要影響j**a開發和軟體發布的以下方面:

1)目標裝置的特性;

2)安全模型:安全模型有兩個部分,虛擬機器和應用程式安全。虛擬機器安全層的目的是保護下面的裝置不受任何執行**可能引起的損害。

本遊戲的操作流程:使用者在啟動blockbreaker後,即進入遊戲主畫面,螢幕開始顯示為歡迎畫面。使用者按下[啟動]按鈕後,就可以開始玩遊戲。

當使用者想暫停時,再次按一下[啟動]按鈕開始,遊戲就暫停了,在暫停的情況下再按[開始]按鈕,遊戲繼續執行。任何時候按[exit]按鈕退出,遊戲blockbreaker都會終止。

圖:遊戲流程轉換過程

(1)本程式中設定了addx、addy、directx、directy 四個變數來控制磚塊的運動軌跡,程式**如下所示:

if ( <= 0 or + >= then

directx *= -1

end if

if ( <= 0 or + >= then

directy *= -1

end if

+= directx * addx

+= directy * addy

(2)程式中新增的8行8列的磚塊是動態生成的,並且為磚塊設定了不同的顏色,**實現部分如下:

dim btn as button '生成磚塊

dim m as integer = 0

dim n as integer = 0

for m = 0 to / 50

for n = 0 to 1

btn = new button

= ""

= new size(50, 20)

= = m *

= n *

next

next

設定每個磚塊的寬為50,高為50,通過迴圈控制在窗體上新增了八行八列的磚塊,並設定了不同的顏色。

在手機遊戲方面,遊戲的控制和**的設定是遊戲的基本能力,為了方便玩家操作遊戲。本遊戲不設立關卡,而是隨著遊戲積分的增加,遊戲將自動增加遊戲的難度,如加快遊戲速度和根據人的慣性思維不斷產生相反的方塊型別,遊戲的操作難度也會增大。

(3)判斷遊戲失敗的程式部分

while (( + < or ( > + and + >

= false

"you lose,restart?")

exit while

end while

執行效果:

本組三人,用兩個周的時間完成遊戲製作。

**負責了資料查詢,總體設計,詳細設計,及程式設計。

這次安卓開發實踐對我來說是個很大的挑戰,以前雖然對安卓開發很有興趣,但一直沒有機會接觸,這次嵌入式開發實踐讓我親自實踐了一下,對手機這種嵌入式裝置及其作業系統android有了更深入的了解。而且在製作這款小遊戲的過程中學到了很多跟遊戲開發相關的知識,我想以後我會繼續在這條路上探索。

嵌入式總結

什麼叫嵌入式系統 以應用為中心 以計算機技術為基礎 軟體硬體可裁剪 適應應用系統對功能 可靠性 成本 體積 功耗嚴格要求的專用計算機系統。什麼叫嵌入式處理器?嵌入式處理器分為哪幾類?嵌入式處理器是為完成特殊的應用而設計的特殊目的的處理器。分為四類 1 嵌入式微處理器 embedded micropr...

嵌入式總結

第三部分 arm處理器特點。功耗低 成本低 效能高 支援thumb 16位 arm 32位 雙指令集 cortex支援thumb 2 16 32位混合指令系統 指令長度固定 32位 16位 大量使用暫存器,指令執行速度更快,都可用於多種用途 定址方式靈活簡單,執行效率高 arm處理器的各系列情況。a...

嵌入式重要

什麼是嵌入式系統?2005 8 23 9 39 12 by mcublog 10推薦顧名思義,嵌入到mcu核心 嵌入式系統一般指非pc系統,它包括硬體和軟體兩部分。硬體包括處理器 微處理器 儲存器及外設器件和i o埠 圖形控制器等。軟體部分包括作業系統軟體 os 要求實時和多工操作 和應用程式程式設...