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

正文內(nèi)容

基于j2me五子棋手機(jī)游戲開發(fā)-文庫吧資料

2024-09-08 18:12本頁面
  

【正文】 ,然后將棧頂?shù)钠遄釉O(shè)置為最后一步,并重新繪制棋盤。 雙方落子后,程序人使用一個(gè) Dot 類棋子對(duì)象來記錄最后一步棋的位置,當(dāng)玩家下了一步棋后需要將上一步重新繪制,以消除棋子上的引導(dǎo)框。 除此之外,該類還處理雙方落子功能和悔棋功能,判斷是否游戲結(jié)束,誰是勝利者。 Dot 類的 UML 圖如 所示。五子棋是一個(gè)二維棋類游戲,所以首先想到的是定義一個(gè) Dot類來表示棋子。 //如果不存在記錄 ,則添加新記錄 ,內(nèi)容為當(dāng)前的參數(shù) ()。 //難度 if(()0) //如果有記錄則 ID 為 1的記錄內(nèi)容為當(dāng)前參數(shù) (1,bs,0,3)。 //棋盤大小 bs[1]=(byte)(isComputerFirst?1:0)。//打開記錄 ,如果沒有則創(chuàng)建 16 byte bs[]=new byte[3]。 Option 類設(shè)計(jì) 該類實(shí)現(xiàn)游戲 參數(shù) 的設(shè)置,其 UML圖如圖 (1)所示,游戲截圖如 (2)所示。 ? IMPLICIT,值 為 3,類似軟鍵菜單或者按鈕,當(dāng)被選擇時(shí),立即觸發(fā)Command 事件。參數(shù) choiceType用來設(shè)置 ChoiceGroup 的類型, ChoiceGroup 類繼承了 Choise 接口的三種類型: ? EXCLUSIVE,值為 1,一次只有一個(gè)元素被選擇。 Label可以設(shè)置為 null,表示此 Item 對(duì)象的標(biāo)簽為空白。如果 initialValue小于 0,則 Gauge 對(duì)象的初始值被設(shè)置為 0;如果 initialValue大于 maxValue,則被設(shè)置為 maxValue。這個(gè)值必須大于 0,否則會(huì)拋出 IllegaArgumentException。 Gauge 的構(gòu)造方法根據(jù)指定的標(biāo)簽、交互模式、最大值、初始值生成一個(gè)新的 Gauge 對(duì)象,原型如下: Gauge( String label,Boolean interactive,int maxValue,int initialValue) ? Gauge 構(gòu)造方法有 4 個(gè)參數(shù): label、 interactive、 maxValue、 initialValue ? 參數(shù) label 用作 label 對(duì)象的標(biāo)簽,設(shè)置為 null 表示標(biāo)簽為空 ? 參數(shù) interactive 是一個(gè) boolean 變量,表示這個(gè) Gauge 對(duì)象的交互模式,設(shè)置為 true 表示交互模式,即用戶可以改變 Gauge 對(duì)象的值:如果設(shè)置為 flase,則表示非交互模式,即用戶不可以改變 Gauge 的值。 圖 (1) About 類的 UML 圖 13 圖 (2) 關(guān)于表單界面 游戲設(shè)置表單的實(shí)現(xiàn) 游戲設(shè)置表單 Option 類用來對(duì)游戲的參數(shù)進(jìn)行設(shè)置,包括棋盤大小,游戲難度,是否先手,過程中使用了 Gauge 和 ChoiceGroup 兩種高級(jí)用戶界面組件。 //創(chuàng)建關(guān)于表單 } 游戲介紹表單的實(shí)現(xiàn) About是游戲介紹表單 類, 主 要是向玩家闡述五子棋的一些信息。 //創(chuàng)建畫布 options=new Options(this)。 //將關(guān)于軟鍵添加到主表單 (this)。 //將開局軟鍵添加到主表單 (CMD_OPTION)。//創(chuàng)建關(guān)于軟鍵 (CMD_EXIT)。 //創(chuàng)建開局軟鍵 CMD_OPTION=new Command(設(shè)置 ,1,3)。 CMD_EXIT=new Command(退出 ,7,1)。//加載屏幕圖片 } catch(IOException e){ imgSplash=(1, 1)。 form=new Form(null)。FIRMIDlet 類的 UML 圖如圖 (1)所示,主界面如圖 (2)與 (3)所示。在每次狀態(tài)轉(zhuǎn)換的時(shí)候都要高用相應(yīng)的方法。當(dāng)出現(xiàn)狀態(tài)遷移時(shí), JAM 會(huì)自動(dòng)調(diào)用相應(yīng)的方法, MIDlet狀態(tài)遷移圖如 所示。 10 MIDlet 生命周期 所有 MIDlet都繼承自 ,該類包含了 MIDP平臺(tái)控制應(yīng)用程序執(zhí)行過程的方法。 MIDlet 簡(jiǎn)介 MIDlet 是用 J2ME APIs 開發(fā)的程序 ,用于移動(dòng)計(jì)算環(huán)境中。 設(shè)計(jì)獲勝棋型 我們已 經(jīng)計(jì)算出了一個(gè) 15x15 的五子棋盤會(huì)有 572種獲勝方式,這樣我們可以利用數(shù)組建立一些常規(guī)棋型,棋型主要作用是:判斷是否有任何一方獲勝;根據(jù)當(dāng)前格局判斷最可能的落子方式。 4) 計(jì)算反對(duì)角線方向的獲勝組合數(shù),反對(duì)角線上的獲勝組合總數(shù)為 11+( 10+9+8+7+6+5+4+3+2+1) x2=121。 9 2) 計(jì)算垂直方向的獲勝組合數(shù),每一行的獲勝組合是 11,共 15 列,所以垂直方向的獲勝組合數(shù)為: 11x15=165。 五子棋的獲勝組合 在一 場(chǎng)五子棋的游戲中,計(jì)算機(jī)必須要知道有哪些獲勝組 合,因此我們必須求得獲勝組合的總數(shù)。在這類游戲中,通常的策略類 AI 程序都是使計(jì)算機(jī)根據(jù)目前狀況計(jì)算所有可走的棋與可能的獲勝狀況,并計(jì)算當(dāng)前計(jì)算機(jī)可走棋步的獲勝分?jǐn)?shù)或者玩家可走棋步的獲勝分?jǐn)?shù),然后再?zèng)Q定出一個(gè)最佳法。 可以這樣認(rèn)為,人工智能的核心是使計(jì)算機(jī)具有自動(dòng)處理事件的能力,而設(shè)計(jì)者的所有研究也應(yīng)該圍繞著這一方向進(jìn)行。 整個(gè)游戲的界面切換流程圖如圖 所示。 玩家進(jìn)入游戲參數(shù)設(shè)置表單,當(dāng)玩家按下“確定”軟鍵 時(shí),則確認(rèn)當(dāng)前游戲參數(shù),返回游戲主屏;當(dāng)玩家按下“取消”軟鍵時(shí),則放棄此次對(duì)游戲的修改,直接返回游戲主屏幕。 開始玩家落子判定落子合法性判定游戲是否結(jié)束計(jì)算機(jī)落子判定游戲是否結(jié)束結(jié)束NNYYYN 圖 事件驅(qū)動(dòng) 游戲循環(huán) 7 C a n v a s畫 布F I R C a n v a sF I R L o g i c邏 輯D o t棋 子F I R M I D l e t主 類M I D l e tA b o u t關(guān) 于 表 單A b o u t設(shè) 置 表 單圖 類結(jié)構(gòu) 游戲的流程 游戲啟動(dòng)時(shí), FIRMIDlet 對(duì)象先顯示游戲主屏,在屏幕下方一側(cè)是退出軟鍵,另一側(cè)是用軟鍵構(gòu)成的菜單,菜單元素主要有“設(shè)置”和“關(guān)于”選項(xiàng)。整個(gè)程序包含四個(gè)屏幕:游戲主屏 6 幕表單,實(shí)際玩家進(jìn)行游戲的 FIRCanvas,提供某些關(guān)于游戲選項(xiàng)的 Option 表單,以及一個(gè)用來顯示相關(guān)信息的 About 表單。事件驅(qū)動(dòng)的游戲循環(huán)如 圖 : 游戲的類結(jié)構(gòu) 整個(gè)游戲共由六個(gè)類組成,如圖 。 基于以上兩個(gè)特性,本游戲摒棄了大多數(shù)游戲采用的線程或定時(shí)器驅(qū)動(dòng)游戲的方法,而采用事件驅(qū)動(dòng)的方法,即玩家的鍵盤或觸摸筆觸發(fā)游戲的下一步動(dòng)作。 五子 棋游戲的架構(gòu)涉及游戲驅(qū)動(dòng)、類結(jié)構(gòu)和流程的初步設(shè)計(jì),由于人機(jī)對(duì)戰(zhàn)五子棋采用了人工智能算法,因此,還對(duì)獲勝棋型和攻守策略進(jìn)行了探討。 使用 Canvas 類的 getHeight 和 getWidth 方法能夠完成上述任務(wù)。在設(shè)計(jì)游戲時(shí)必須考慮這些不同點(diǎn),以便獲得移值性最好的游戲軟件。邏輯層處理所有的判斷、推算,可采用各種比較復(fù)雜的算法,而表現(xiàn)層則只管與玩家交互。 邏輯層和表現(xiàn)層的分離 棋類游戲是移動(dòng) 設(shè)置比較擅長(zhǎng)表現(xiàn)的游戲,相對(duì)于動(dòng)作類游戲的快節(jié)奏,棋類游戲的特點(diǎn)就是玩起來速度慢,比較優(yōu)雅,主要來培養(yǎng)玩家在某方面的思考和判斷能力。對(duì)于一個(gè)基于訂閱的游戲 ,重要的是與別的玩 家合作以增強(qiáng)所玩游戲的智力和隨機(jī)性?;谟嗛喌挠螒蚴遣粩喈a(chǎn) 4 生收入的最好方法。一開始開發(fā)和設(shè)計(jì)每個(gè)游戲都是昂貴的。所以一個(gè)好的手機(jī)游戲應(yīng)該提供短時(shí)間的娛樂功能 ,并且允許用戶在游戲和工作模式之間順利切換。手機(jī)用戶常常在任務(wù)(如等一個(gè)電子郵件或者等車 ) 之間有一小段時(shí)間。保持游戲的簡(jiǎn)單是最基本的要求。 手機(jī)游戲 特點(diǎn) 一個(gè)手機(jī)游戲應(yīng)該具有以下特征 :易于學(xué)習(xí) :既然手機(jī)游戲面向的是普通消費(fèi)者而不是計(jì)算機(jī)專家 , 那么他們不可能深入的學(xué)習(xí)游戲技巧。 CDC 包含一個(gè)具有完備特性的 Java 虛擬機(jī) ,比 CLDC 更大的 Java SE的子集。 CDC 是為處理能力較強(qiáng)、內(nèi)存空間更大、聯(lián)網(wǎng)能力更出色的設(shè)備設(shè)計(jì)的。 CLDC 是兩個(gè)配置中較小的一個(gè) ,為具有間斷性聯(lián)網(wǎng)能力、較慢的處理器和有限內(nèi)存的設(shè)備設(shè)計(jì)的。在 J2ME 中還有一個(gè)重要的概念是可選包 (Optional Package) , 它是針對(duì)特定設(shè)備提供的類庫 , 比如某些設(shè)備是支持 藍(lán)牙的 ,針對(duì)此功能 J2ME 中制定了 JSR82 (BluetoothAPI) 提供了對(duì)藍(lán)牙的支持。配置是 3 提供給最大范圍設(shè)備使用的最小類庫集合 , 在配置中同時(shí)包含 Java 虛擬機(jī)。 J2ME 在應(yīng)用于這些設(shè)備的同時(shí)也保留了 Java 的傳統(tǒng)特性,即任何時(shí)間和任何地點(diǎn)的代碼都具有可移值性、部署靈活性、安全的網(wǎng)絡(luò)傳輸性,以及代碼穩(wěn)定性。目前所說的手機(jī)游戲其實(shí)是其中規(guī)范的一種,即 MIDP(移動(dòng)信息設(shè)備規(guī)范),該規(guī)范應(yīng)用最為普通,因此習(xí)慣上也被人們籠統(tǒng)地稱為 J2ME 技術(shù)。 J2ME 不只是一個(gè)單獨(dú)的技術(shù)規(guī)范,而是一系
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1