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

正文內(nèi)容

基于j2me技術(shù)的藍(lán)牙象棋手機(jī)游戲論文-預(yù)覽頁

2025-12-08 08:40 上一頁面

下一頁面
 

【正文】 個(gè)概念:封裝、多態(tài)性和繼承, Java 也不例外。對(duì)象之間通過消息相互作用。 本章小結(jié) 通過這一章的介紹,了解手機(jī)游戲的 發(fā)展 現(xiàn)狀及手機(jī)游戲的特征、類型等,也讓我明確了我的畢業(yè)設(shè)計(jì)的題目及其設(shè)計(jì)的主要內(nèi)容。中國 象棋在現(xiàn)在的人群中廣泛流行,深受大家喜愛。 按照游戲人數(shù)分:可分為單機(jī)游戲、聯(lián)機(jī)游戲及聯(lián)網(wǎng)游戲等。 5 、充分利用手機(jī)技術(shù)的優(yōu)點(diǎn),如 CPU,內(nèi)存等硬件。 2 、可中斷性:多任務(wù)處理是手機(jī)生活方式的基本特征。 由于手機(jī)游戲開發(fā)的資金投入小,開發(fā)周期短,一時(shí)間大大小小的 SP 紛紛涉入該領(lǐng)域。 ,實(shí)現(xiàn)功能菜單的調(diào)用。 I 摘要 J2ME(Java 2 Platform Micro Edition)平臺(tái) 是 SUN 公司 為嵌入式消費(fèi)類電子產(chǎn)品推出的一個(gè)通用的開發(fā)平臺(tái)。 接功能,通過創(chuàng)建服務(wù)端建立游戲,使客戶端能搜索到游戲并加入游戲,在游戲中保持服務(wù)端和客戶端的通信。據(jù)權(quán)威部門的報(bào)告分析和預(yù)測(cè), 2020 年 ~2020 年手機(jī)游戲產(chǎn)業(yè)將飛速發(fā)展, 2020 年 ~2020 年增長速度將減緩,到 2020 年產(chǎn)業(yè)規(guī)模將達(dá)到 180 億元。保持游戲的簡單是最基本的要求。 4 、豐富的社會(huì)交互。還有一些短信游戲。經(jīng)過數(shù)千年的演變,最終在北宋末形成了近代中國象棋模式: 32 枚棋子,有河界的棋盤,及將在九宮之中等等。 所以就有了想設(shè)計(jì)一個(gè)在手機(jī)上運(yùn)行的中國象棋游戲的想法,故以此作為我的畢業(yè)設(shè)計(jì)的題目。 現(xiàn)實(shí)世界中任何實(shí)體都可以看作是對(duì)象。用公式表示,過程式編程語言為:程序 =算法 +數(shù)據(jù);面向?qū)ο缶幊陶Z言為:程序 =對(duì)象 +消息??梢哉f,對(duì)象是支持封裝的手段,是封裝的基本單位。舉一個(gè)例子,計(jì)算機(jī)中的堆棧可以存儲(chǔ)各種格式的數(shù)據(jù),包括整型,浮點(diǎn)或字符。 繼承是指一個(gè)對(duì)象直接使用另一對(duì)象的屬性和方法。 Java 提供給用戶一系列類( class), Java的類有層次結(jié)構(gòu),子類可以繼承父類的屬性和方法。 C 和 C++具有一定程度的源代碼級(jí)平臺(tái)無關(guān),表明用 C 或 C++寫的應(yīng)用程序不用修改只需重新編譯就可以在不同平臺(tái)上運(yùn)行。(目前, SUN 系統(tǒng)公司已經(jīng)設(shè)計(jì)實(shí)現(xiàn)了 Java 芯片,主要使用在網(wǎng)絡(luò)計(jì)算機(jī) NC 上。任何一臺(tái)機(jī)器只要配備了 Java 解釋器,就可以運(yùn)行這個(gè)程序,而不管這種字節(jié)碼是在何種平臺(tái)上生成的。首先,它使得編程人員所夢(mèng)寐以求的事情(開發(fā)一次軟件在任意平臺(tái)上 運(yùn)行)變成事實(shí),這將大大加快和促進(jìn)軟件產(chǎn)品的開發(fā)。 [16] 3. 分布式 分布式包括數(shù)據(jù)分布和操作分布。對(duì)于后者, Java 的applet 小程序可以從服務(wù)器下載到客戶端,即部分計(jì)算在客戶端進(jìn)行,提高系統(tǒng)執(zhí)行效率。首先,Java 是強(qiáng)類型的語言,要求顯式的方法聲明,這保證了編譯器可以發(fā)現(xiàn)方法調(diào)用錯(cuò)誤,保證程序更加可靠;其次, Java 不支持指針,這杜絕了內(nèi)存的非法訪問;第三, Java 的自動(dòng)單元收集防止了內(nèi)存丟失等動(dòng)態(tài)內(nèi)存分配導(dǎo)致的問題;第四, Java解釋器運(yùn)行時(shí)實(shí)施檢查,可以發(fā)現(xiàn)數(shù)組和字符串訪問的越界,最后, Java 提供了異常處理機(jī)制,程序員可以把一組錯(cuò)誤代碼放在一個(gè)地方,這樣可以簡化錯(cuò)誤處理任務(wù) 便于恢復(fù)。當(dāng) Java 字節(jié)碼進(jìn)入解釋器時(shí),首先必須經(jīng)過字節(jié)碼校驗(yàn)器的檢查,然后, Java 解釋器將決定程序中類的內(nèi)存布局,隨后,類裝載器負(fù)責(zé)把來自網(wǎng)絡(luò)的類裝載到單獨(dú)的內(nèi)存區(qū)域,避免應(yīng)用程序之間相互干擾破壞。一方面, Java 環(huán)境本身就是多線程的。這些原語負(fù)責(zé)對(duì)線程實(shí)行并發(fā)控制。 [16] J2ME 介紹 J2ME 是 SUN 公司針對(duì)嵌入式、消費(fèi)類電子產(chǎn)品推出的開發(fā)平臺(tái),與 J2SE 和J2EE 共同組成 Java 技術(shù)的三個(gè)重要的分支?,F(xiàn)在國內(nèi)外使用 J2ME 比較多的應(yīng)用包括車載信息和計(jì)算,數(shù)字電視,頂置盒, inter 訪問設(shè)備,家庭 Audio/Video,無線手持設(shè)備等等。 CDC 的硬件參數(shù): CLDC 的硬件參數(shù): 簡單的用戶界面。 可選包也有一些重要的 API,包括:無線消息 API、移動(dòng)多媒體 API、藍(lán)牙 API、移動(dòng) 3D 圖形、 Web 服務(wù) API 等。值得一提的是 destroyApp(boolean unconditional)方法,事實(shí)上,當(dāng) destroyApp()方法被調(diào)用的時(shí)候, AMS 通知 MIDlet 進(jìn)入 destroyed 狀態(tài)。 它具有很強(qiáng)的功能及完善的終端用戶工具,可用于在各種領(lǐng)域建立高性能的、實(shí)時(shí)的、綜合 3D 工程。 9 ( 2)為開發(fā)而強(qiáng)化 WTK 提供了強(qiáng)大的功能,它可以開發(fā)出最復(fù)雜的應(yīng)用程序,還能提高一個(gè)組織的生產(chǎn)率。其中, Universe 是最高層次的類,一個(gè)WTK虛擬環(huán)境中只能有一個(gè) Universe 處于激活狀態(tài),它控制著場(chǎng)景的生成和運(yùn)行,組織和存儲(chǔ)靜態(tài)和動(dòng)態(tài)對(duì)象。 另外, WTK 支持多種輸入輸出設(shè)備,并且允許用戶修改 C 代碼,如設(shè)備驅(qū)動(dòng)器、文件閱讀器和繪圖例行程序,也允許它和多種信息源進(jìn)行交互。就其本身而言,它是一個(gè)框架和一組服務(wù),用于通過插件構(gòu)建開發(fā)環(huán)境。 Eclipse ME 提供了下列功能以幫助開發(fā)者輕松創(chuàng)建 MIDlet: Java 應(yīng)用描述文件( JAD)編譯器 現(xiàn)在比較新的 Eclipse ME 插件版本為 。它的傳輸距離為 10cm~ 10m,如果增加功率或是加上某些外設(shè)便可達(dá)到 100m的傳輸距離。由于藍(lán)牙采用無線接口來代替有線電纜連接,具有很強(qiáng)的移植性,并且適用于多種場(chǎng)合,加上該技術(shù)功耗低、 11 對(duì)人體危害小,而且應(yīng)用簡單、容易實(shí)現(xiàn),所以易于推廣?;鶐ж?fù)責(zé)跳頻以及藍(lán)牙數(shù)據(jù)和信息幀的傳輸。異步信道可以支持一端最大速率為 721kb/秒、另一端速率為 ,也可以支持 秒的對(duì)稱連接。串口仿真協(xié)議層具有仿真 9 針 RS232 串口的功能。 在藍(lán)牙協(xié)議棧的最上部是各種高層應(yīng)用框架。 總之, 整個(gè)藍(lán)牙協(xié)議結(jié)構(gòu)簡單,使用重傳機(jī)制來保證鏈路的可靠性,在基帶、鏈路管理和應(yīng)用層中還可實(shí)行分級(jí)的多種安全機(jī)制,并且通過跳頻技術(shù)可以消除 12 網(wǎng)絡(luò)環(huán)境中來自其它無線設(shè)備的干擾。 [12] 本章小結(jié) 本章主要是介紹了畢業(yè)設(shè)計(jì)中所 涉及 的技術(shù)及開發(fā)工具、開發(fā)環(huán)境等。 計(jì)時(shí)所設(shè)計(jì)的中國象棋,其中棋子,棋盤等都是通過程序繪制出來的,因此需要比較合理的算法來實(shí)現(xiàn)。中國象棋中的每一個(gè)棋子都有自己的行棋規(guī)則。 。由于游戲的主循環(huán) GameCanvas 類中,根據(jù)每秒的幀數(shù)通過調(diào)用 GameWorld 類的 drow()一直不停的繪制在繪制背景、棋盤、棋子和選擇框。其中程序設(shè)計(jì)部分設(shè)計(jì)了 8 個(gè)類,每個(gè)類完成各自的功能,且每個(gè)類之間又有聯(lián)系。一個(gè) MIDlet 包 括至少一個(gè) Java類,此類必須派生自 MIDP 定義的抽象類 。另外,可以將一組相關(guān)的 MIDlet收集到一個(gè) MIDlet 套件( suite)中。和高級(jí)用戶界面相比, Canvas 擁有更大的靈活性。調(diào)用(Displayable displayable)可以將 Canvas 對(duì)象顯示到當(dāng)前界面,因?yàn)?Canvas 也繼承自 Displayable。 Chess 類 該類的主要功能是:抽象了棋盤上是否為服務(wù)器下子。這個(gè)類是所有八個(gè)類中最最關(guān)鍵的類。 具體的變量定義 見附錄中的 GameWorld 類。最終在模擬器的屏幕上畫出整個(gè)棋盤以及 32 個(gè)棋子。w8。 (x+3*cellWidth,x,x+5*cellWidth,x+2*cellWidth)。 棋子選擇及畫選擇框 畫出選擇框,算法實(shí)現(xiàn)單擊選中棋子,再擊則不選中。 (xchessR+guard1*cellWidth,xchessR+guard2*cellWidth,2*chessR,2*chessR, 19 0,360)。 }} if(g2%2==0){ if(point[guard2][guard1]16){ (0,255,0)。 (word[guard2][guard1],x+guard1*cellWidth,x+chessR+ guard2*cellWidth,|)。 方法 paint 的實(shí)現(xiàn)如下: protected void paint(Graphics g){ (0x00000000)。 paintMapc(g)。 whoIsGoing(g)。所以這一塊的功能實(shí)現(xiàn)花了我不少的時(shí)間和精力,也請(qǐng)教了很多同學(xué)和老師,最終實(shí)現(xiàn)了各個(gè)具體的功能。 point[selectedY][selectedX]=point[n][m]。 word[n][m]=空 。 水平移動(dòng)就是在 Y 坐標(biāo)不變的情況下,通過比較棋子起始坐標(biāo)和選擇框的最終坐標(biāo),設(shè)置 for 循環(huán),通過判斷 point[][]的 int 值是否為零,不為零時(shí), g++,若g== 0 時(shí)通過調(diào)用 changTwoChessNum(),對(duì)兩個(gè)格子的值進(jìn)行替換。 馬的行走規(guī)則 馬的行走規(guī)則較為特殊,所謂馬走 “日 ”,在遇到有棋子擋在 “日 ”字的中間時(shí),馬走無法行走,即 “蹩腳馬 ”。接著設(shè)置判斷選擇框的 X 坐標(biāo)與起始坐標(biāo)是否相差 1 或-1,選擇框的 Y 坐標(biāo)與起始坐標(biāo)相差 2 或- 2,當(dāng)兩個(gè)條件同時(shí)滿足時(shí),調(diào)用changTwoChessNum()進(jìn)行棋子的替換。 馬的行走規(guī)則的具體實(shí)現(xiàn)見附錄。當(dāng) g== g1 時(shí),調(diào)用changTwoChessNum()替換掉炮要吃掉的對(duì)方棋子。 算法設(shè)計(jì)思路: 算法其實(shí)跟馬的類似,首先判斷一下棋子的起始坐標(biāo)值,再判斷 point[][]的值是否為零; point[][]為零時(shí) , 接著設(shè)置判斷選擇框的 X 坐標(biāo)與起始坐標(biāo)是否相差 2或- 2,選擇框的 Y 坐標(biāo)與起始坐標(biāo)相差 2 或- 2,當(dāng)兩個(gè)條件同時(shí)滿足時(shí),調(diào)用changTwoChessNum()進(jìn)行棋子的替換。 算法設(shè)計(jì)思路: 首先是判斷一下起始坐標(biāo)值是否在九宮之內(nèi),以及選擇框最終的坐標(biāo)是否在九宮之內(nèi),如果這兩個(gè)條件同時(shí)滿足時(shí),再設(shè)置條件,判斷選擇框的 X 坐標(biāo)與起始坐標(biāo)是否相差 1 或- 1,選擇框的 Y 坐標(biāo) 與起始坐標(biāo)相差 1 或- 1,當(dāng)兩個(gè)條件同時(shí)滿足時(shí),調(diào)用 changTwoChessNum()進(jìn)行棋子的替換。 帥的走法跟馬、象(相)、士的走法有所不同,帥只要水平或垂直移動(dòng)一格,所以在坐標(biāo)差值上會(huì)有 0。 算法設(shè)計(jì)思路: 卒的行走可分為兩類,在過河前和過河后。 卒的走法的具體 實(shí)現(xiàn) 見附錄。 break。 break。//每按下 FIRE 一次, GUARD 就加一,用來判斷 FIRE 是被選種還是選種后走下不棋 …… 具體的按鍵處理方法見附 錄中。 ((, ))。 (白方勝利 ,x,x+chessR+10*cellWidth, |)。 25 (紅方勝利 ,x,x+chessR+10*cellWidth, |)。i3。}} } for(i=0。j++){if(point[7+i][3+j]==21){isWhiteWin++。 if (!myMove) { //是否未輪到下 selectedX = ()。 // 設(shè)置為輪到下 }} Control 類 Control 實(shí)現(xiàn)的功能是:主要在 GameWorld 類和 Connection 類之間傳遞坐標(biāo)值和服務(wù)器判斷值。 26 int selectedX,selectedY。} public void start(){ (Control 啟動(dòng) )。 //引用連接類的 sendMessage()方法 } public void receiveMessage(){ //接收信息 () 。} public int getSelectedY(){ //獲取 y 坐標(biāo) selectedY = () 。代碼實(shí)現(xiàn)如下: public class Connection { Server server。 //傳遞服務(wù)器判斷值 Control control。 if (isServer) { //是否為服務(wù)器 server = new Server(this)。 //否則啟動(dòng)客戶端 }} public void sendMessage(int selected_X,int selected_Y){ //發(fā)送坐標(biāo)值 if (isServer) //發(fā)送服務(wù)器的坐標(biāo) ((selected_X),(selected_Y))。}} public void receiveMessage(String messagex,String messagey){ //接收坐標(biāo)值 selectedX = (messagex)。 //引用控制類的 receiveMessage()方法 } public int getSelectedX(){ //發(fā)送 x 坐標(biāo)值 return selectedX。 部分代碼如下: …… public class Server implements Runnable{ Connection connection。 //客戶處理 DataOutputStream dos。 //流連接通告 String
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1