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

正文內(nèi)容

j2me移動開發(fā)技術(shù)課程設計任務書-文庫吧

2025-06-28 20:42 本頁面


【正文】 Phones(蜂窩電話)、Screen Phones(可視電話)、Digital Settop Boxes(數(shù)字機頂盒)、Car Navigation Systems(汽車導向系統(tǒng))等,同時也廣泛被移動通信設備所采用,如移動電話、雙向?qū)ず魴C、智能卡、個人電腦記事本(Personal Organizer)和掌上電腦(Palmtop)等。J2ME技術(shù)將Java語言的與平臺無關(guān)的特性移植到小型電子設備上,允許移動無線設備之間共享應用程序。J2ME 使用配置和簡表定制 Java 運行時環(huán)境 (JRE)。作為一個完整的 JRE,J2ME 由配置和簡表組成,配置決定了使用的 JVM,而簡表通過添加特定于域的類來定義應用程序。與以前 Sun 公司推出的J2EE (Java 2 Enterprise Edition,Java 2企業(yè)版)、J2SE (Java 2 Standard Edition,Java 2標準版)規(guī)范相比,J2ME 不是一個單獨的技術(shù)規(guī)范,而是一系列技術(shù)規(guī)范總稱。這些規(guī)范定義了 Java 技術(shù)在資源限制的設備中的表現(xiàn)形式。J2ME 主要適用于小型嵌入式設備,這些設備與PC或是服務器設備相比沒有統(tǒng)一的硬件標準、外觀與操作方式,其功用也是千差萬別。但是J2ME 在適用于這些設備的同時也保留了 Java 的傳統(tǒng)特性,即任何時間和任何地點的代碼具有可移植性、部署靈活性、安全的網(wǎng)絡傳輸性,以及代碼穩(wěn)定性。正是因為如此,開發(fā)人員才可以借助J2ME 力量讓編寫的程序能夠運行在其他型號或廠商的設備上。 J2ME的相關(guān)特性 Configuration簡介J2ME 在設計其規(guī)格的時候,遵循著「對于各種不同的裝置而造出一個單一的開發(fā)系統(tǒng)是沒有意義的事」這個基本原則。于是 J2ME 先將所有的嵌入式裝置大體上區(qū)分為兩種 :一種是運算功能有限、電力供應也有限的嵌入式裝置(比方說PDA 、手機);另外一種則是運算能力相對較佳、并請在電力供應上相對比較充足的嵌入式裝置 (比方說冷氣機、電冰箱、電視機上盒 (settop box))。因為這兩種型態(tài)的嵌入式裝置,所以Java 引入了一個叫做Configuration 的概念,然后把上述運算功能有限、電力有限的嵌入式裝置定義在Connected Limited Device Configuration(CLDC)規(guī)格之中;而另外一種裝置則規(guī)范為 Connected Device Configuration(CDC)規(guī)格。也就是說, J2ME 先把所有的嵌入式裝置利用Configuration 的概念區(qū)隔成兩種抽象的型態(tài)。 其實在這里大家可以把Configuration 當作是J2ME 對於兩種類型嵌入式裝置的規(guī)格,而這些規(guī)格之中定義了這些裝置至少要符合的運算能力、供電能力、記憶體大小等規(guī)范,同時也定了一組在這些裝置上執(zhí)行的 Java 程序所能使用的類別函式庫、這些規(guī)范之中所定義的類別函式庫為 Java 標準核心類別函式庫的子集合以及與該型態(tài)裝置特性相符的擴充類別函式庫。比方就CLDC 的規(guī)范來說,.* 、.*、.*,.*。區(qū)分出兩種主要的Configuration 之後,J2ME 接著在定義出Profile的概念。Profile 是架構(gòu)在Configuration 之上的規(guī)格。之所以有Profile的概念,是為了要更明確地區(qū)分出各種嵌入式裝置上Java 程序該如何開發(fā)以及它們應該具有哪些功能。因此Profile 之中定義了與特定嵌入式裝置非常相關(guān)的擴充類別函式庫,而 Java 程序在各種嵌入式裝置上的使用者介面該如何呈現(xiàn)就是定義在Profile 里頭。Profile 之中所定義的擴充類別函式庫是根據(jù)底層Configuration 內(nèi)所定義的核心類別函式庫所建立。  Profile簡介Profile是建立在某個configuration之上的特定API集合。一個configuration只定義虛擬機和基本的API集合,不定義建立應用程序的細節(jié)。因此Profiles往往包括應用程序生命周期的API,用戶界面API以及存儲API。一個Profile既可直接建立在Configuration上,也可建立在另一個Profile之上。為了在不改動Profile的前提下增加設備的功能,在Profile之外又提出了可選包,可將它們看成Profile的擴展,每個可選包對某個或某些profiles增加特定的功能。當對某個profile需要增加一個新的API時首先將它定義為可選包。如果隨著時間的推移該可選包被廣泛采用,它則可能成為某個或某些profiles的一部分。某些廠家特定的API與可選包起相似功能。J2ME的這種結(jié)構(gòu)很好的適應了嵌入設備的巨大多樣性。從低到高,您可根據(jù)設備的情況可采用不同的configuration,在同一configuration中您又可根據(jù)設備的用途選用不同的Profile,在您的設備中您還可采用多個Profile,如果您還嫌功能不夠,尚有可選包可用。J2ME中第一個正式發(fā)布的Profile是MIDP,而且隨后比較長的時間內(nèi)未有其它Profile發(fā)布,以至有人把MIDP等同于J2ME了,有人把WTK等同于J2ME SDK(由于J2ME包含的范圍很廣,所以不太可能有廠商推出能支持各種Profile的開發(fā)工具)。MIDP只是J2ME中的一員,我們來看看到寫本文為止有哪些Profile。由于每個Profile是建立在特定的Configuration之上的,所以我們在Profile后注明其基于的Configuration。目前已有的基于CLDC的Profile有MIDP,基于CDC的Profile有FP、PBP。 第三章 需求分析 基本需求分析手機屏幕尺寸分為物理尺寸和顯示分辨率兩個概念。物理尺寸是指屏幕的實際大小。大的屏幕同時,要配備高分辨率,也就是在這個尺寸下可以顯示多少個像素,顯示的像素越多,可以表現(xiàn)的余地自然越大?,F(xiàn)在手機行業(yè)發(fā)展迅速,不同大小屏幕的手機迅速發(fā)展,鑒于不同手機屏幕尺寸不同,我們在設計游戲的時候有一下一些要求: 一 軟件的界面簡潔明了,操作簡單容易。受手機屏幕大小和顯示的影響,我們設計的軟件界面必須是簡潔的;手機鍵盤的不方便,游戲需要設計得易操作。二 軟件具有人工智能算法原理要簡單,并且運行快速。游戲是需要快速反應的。手機處理器的頻率直接要求我們需要使用簡單實用的智能算法。三 游戲要設置幾個難度,我們設置不同難度供各個水平的玩家選擇。四 游戲棋盤的大小要靈活,根據(jù)不同手機屏幕可以調(diào)節(jié)。 游戲玩法及規(guī)則 現(xiàn)代五子棋專用棋盤為十五路(15X15),共225個交叉點。棋盤正中一點為天元。 對局開始時,先由執(zhí)黑棋一方將一枚棋子落在天元點上,然后由執(zhí)白棋一方在黑棋周圍的交叉點上落子。但是,為了尊重對方和禮貌起見,持白棋的一方通常將盤面的第二著棋布在自己河界的一側(cè),即直止或斜止。此后黑白雙方輪流落子,直到某一方首先在棋盤的橫線、縱線或斜線上形成連續(xù)五子或五子以上〔僅對白棋而言〕,則該方就算獲勝 。連珠五子棋的一個特點是先行的一方優(yōu)勢很大,因此在職業(yè)比賽中對黑方做了種種限制,以利公平競爭。五子棋的比賽規(guī)則如下: 〖1〗 黑先、白后,從天元開始相互順序落子; 〖2〗 最先在棋盤橫向、縱向或斜向形成連續(xù)的同色五個棋子的一方為勝; 〖3〗 黑棋禁手判負、白棋無禁手。黑棋禁手有“三、三”、“四、四”和“長連”, 包括“四、三、三”和“四、四、三”。黑棋只能以“四、三”取勝; 〖4〗 如分不出勝負,則到為平局; 〖5〗 五連與禁手同時形成,判勝; 〖6〗 黑方禁手形成時,白方應立即指出。若白方未發(fā)現(xiàn)或發(fā)現(xiàn)后不立即指出,反而繼續(xù)落子,則禁手失效,不再判黑方負。 在本游戲中,沒有采用職業(yè)比賽的規(guī)則,直接采用明間規(guī)則,一人一手棋,先成5為勝。另外,我們把游戲棋盤設置為可以調(diào)節(jié)大小,設置游戲難度以便適用不同手機。 第四章 游戲設計分析 驅(qū)動循環(huán)及類圖 開始玩家落子判斷落子合法性判斷游戲是否結(jié)束計算機落子判斷游戲是否結(jié)束等待用戶輸入結(jié)束 圖1 驅(qū)動循環(huán)圖棋類游戲通常具備兩個重要特性,首先是對戰(zhàn)雙方輪流落子,其次是落子間隔通常是不確定的,尤其是對戰(zhàn)后期,可能每一步都需要經(jīng)過深思熟慮,無論是人方還是計算機方,都無法對間隔時間有事先的預期?;谝陨蟽蓚€特性,本游戲摒棄了大多游戲采用的線程或者定時器驅(qū)動游戲的方法,而采用了事件驅(qū)動方法,即玩家的鍵盤或觸摸筆出發(fā)游戲的下一步動作。事件驅(qū)動大大減少了不必要的工作量。軟件的類結(jié)構(gòu):CanvasMIDlet Gobang1CanvasGobangCanvasMyCanvasGobangChessesConnectionControlGameWorldServerChessClient圖2 軟件類結(jié)構(gòu)整個游戲由11個類組成。這個游戲共有三個版本:單機挑戰(zhàn)版,雙人對戰(zhàn)版,藍牙終極版。單機挑戰(zhàn)版由Gobang1Canvas類和Chesses類組成,Gobang1Canvas類負責游戲界面的繪制,游戲落棋的控制,游戲規(guī)則的控制,游戲算法的控制,游戲勝負的控制。Chesses類是棋子類,提供棋子,每當下一個棋子的話,就生成一個棋子對象。雙人對戰(zhàn)版由GobangCanvas類和Chesses類組成。GobangCanvas類負責游戲界面的繪制,游戲落棋的控制,游戲規(guī)則的控制,游戲算法的控制,游戲勝負的控制。Chesses類是棋子類,提供棋子,每當下一個棋子的話,就生成一個棋子對象。藍牙終極版是由Chess類、Client類、Connection類、Control類、GameWorld類和Server類組成,Chess類提供藍牙版的棋子,每當下一個棋子的時候,生成一個棋子對象。Client類和Server類是建立藍牙協(xié)議的客戶端和服務端,當服務端啟動后,不斷地監(jiān)聽來自客戶端的請求,如果監(jiān)聽到,則連接協(xié)議,準備進行通信,客戶端則在啟動后向服務器端發(fā)送連接請求,如果被服務端監(jiān)聽到,則配合服務器端連接。Connection類是負責連接客戶端和服務器端的。Control類負責判斷是啟動服務器端還是客戶端,對應游戲中的正方和反方。GameWorld類是負責繪制棋盤,游戲規(guī)則的控制,以及游戲勝負的控制,游戲進行的控制。進入游戲前的選擇畫面。游戲前我們要選擇游戲的版本,這里有三個版本,單機挑戰(zhàn)版,雙人對戰(zhàn)版,藍牙終極版,可以操作手機的上下左右鍵進行選擇。 圖3 開機選擇版本 單機挑戰(zhàn)版有三個等級的游戲,分別是初級、中級、高級。由于時間的原因,目前只完成了初級的開發(fā),中級和高級留作日后進一步開發(fā)。圖4 進行等級的選擇進入游戲,開始單機挑戰(zhàn)版的游戲。 圖5 開始游戲 Gobang1Canvas類是主要的實現(xiàn)類。以下是在游戲中需要用到的變量設置:int empty。//游戲界面到屏幕邊緣的留空 int canvasW,canvasH。//畫布的長和寬 int chessLength。//棋子的直徑 int chessMapLength,chessMapGrid,chessGridLength。 //棋盤的邊長,棋盤一邊格子數(shù),每格寬度 int chessMapX,chessMapY。//棋盤左上角x,y坐標 int selectedX,selectedY。//選擇框在棋盤格局上的x,y位置 boolean isPlayer1。//是否是玩家1 Chesses[][] chesses。//棋子數(shù)組 boolean newGame。//是否是新的游戲 boolean isWin=false。//是否已經(jīng)勝利? int[] chessesPoint。//存放要走的棋子的位置 static int chessesNum = 3。//判斷有幾個棋子就開始堵了下面這個構(gòu)造函數(shù)對游戲進行初始化,包括棋盤的大小,界面的繪制,游戲的加載:主要程序如下:public Gobang1Canvas(Gobang gobang){ =gobang。 newGame=true。 empty=10。 canvasW=getWidth()empty。canvasH=getHeight()empty。 chessMapGrid=15。 chesses=new Chesses[chessMapGrid+1][chessMapGrid+1]。 if(canvasWcanvasH){ chessMapLength=canva
點擊復制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1