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

正文內(nèi)容

基于j2me的手機(jī)五子棋游戲的設(shè)計(jì)(編輯修改稿)

2025-07-15 17:13 本頁面
 

【文章內(nèi)容簡介】 些特性使第二方軟件開發(fā)商可以很容易地介入應(yīng)用程序的開發(fā),并且可以很方便地將應(yīng)用程序安裝到手機(jī)上,開發(fā)周期大大縮短,而且還能支持應(yīng)用程序的動(dòng)態(tài)下載和升級(jí)。J2ME定義和標(biāo)準(zhǔn)化了一種可移植的無線應(yīng)用開發(fā)環(huán)境,主要是針對第二方應(yīng)用開發(fā)商,將設(shè)備軟件開發(fā)向第二方開放,這個(gè)環(huán)境可以靈活地附加到設(shè)備制造商開發(fā)的已經(jīng)存在的軟件和硬件之上,并且不會(huì)對已經(jīng)存在的系統(tǒng)軟件造成影響。這種嵌入式思想也極大地推動(dòng)了J2ME的發(fā)展壯大。本設(shè)計(jì)主要是在 Netbeans IDE 開發(fā)環(huán)境下進(jìn)行開發(fā)、測試與調(diào)試?;?J2ME平臺(tái),它將 Java 語言的與平臺(tái)無關(guān)的特性移植到小型電子設(shè)備上,允許移動(dòng)無線設(shè)備之間共享應(yīng)用程序。NetBeans 是一套完全以 Java 撰寫而成、并且開放原始碼的開發(fā)工具。Java Studio Micro Edition 大致上是把 NetBeans IDE 和 J2ME Wireless Toolkit 結(jié)合在一起的產(chǎn)品。可以方便 J2ME 應(yīng)用程序的開發(fā)者更容易追蹤問題與除錯(cuò)。四種模擬器種類,如表 21 所示。表 21 模擬器版本模擬器名稱 說 明DefaultColorPhone 普通彩屏電話 DefaultGrayPhone 普通灰屏電話 MediaControlSkin 有音頻和視頻控制的普通電話QwertyDevice 有 Qwerty 樣式鍵盤的掌上設(shè)備3 系統(tǒng)分析及總體設(shè)計(jì) 可行性分析 技術(shù)可行性五子棋是傳統(tǒng)的對弈游戲,歷史悠久、規(guī)則單一。手機(jī)游戲的實(shí)現(xiàn)方式主要包括嵌入式游戲、瀏覽器游戲、短消息服務(wù)游戲、J2ME 和其它的解釋語言。Java 2 Micro Edition 是一種針對移動(dòng)電話和 PDA 這樣的小型設(shè)備的 Java 語言,雖然它與臺(tái)式機(jī)中的 Java 相比還是有一定的限制,但是已經(jīng)極大的提高了移動(dòng)電話支持游戲的能力。在 NetBeans 環(huán)境中編寫并在模擬器中運(yùn)行簡單明了。 操作可行性本游戲開發(fā)后可導(dǎo)入手機(jī)操作,供個(gè)人平常娛樂所用,完全使用手機(jī)鍵盤操作,操作簡單,所以在這方面是完全可行的。 需求分析 系統(tǒng)的性能需求首先,手機(jī)游戲最大的問題在于每一款手機(jī)擁有自己的屏幕大小和特定的 API及性能。游戲開發(fā)過程中,要考慮到游戲程序的設(shè)計(jì)要能合乎大多數(shù)手機(jī)的應(yīng)用。J2ME 提出的一系列標(biāo)準(zhǔn)使得使用 J2ME 開發(fā)的游戲可以在配備 J2ME 的任何廠家的移動(dòng)設(shè)備上運(yùn)行。軟件最好操作簡單容易。受手機(jī)屏幕大小和顯示的影響。手機(jī)鍵盤的不方便,游戲需要設(shè)計(jì)得容易操作。其次,軟件具有人工智能算法原理要簡單,并且運(yùn)行快速。對于人機(jī)游戲,不需要網(wǎng)絡(luò)連接,游戲處理不會(huì)有太長的等待時(shí)間。游戲是需要快速反應(yīng)的。手機(jī)處理器的頻率直接要求我們需要使用簡單實(shí)用的智能算法。另外,所制作的軟件在結(jié)構(gòu)上應(yīng)具有很好的可擴(kuò)展性,便于以后的功能擴(kuò)展。 系統(tǒng)的功能需求此款游戲主題是五子棋對弈。無“禁手”的規(guī)則基本是人人皆知。相同顏色的棋子,五子一線為勝。區(qū)別于一般的生活中的人與人的對弈,用在手機(jī)上為人機(jī)對弈,在手機(jī)屏幕上構(gòu)造一個(gè)游戲棋盤,并且設(shè)計(jì)黑、白棋子。利用人工智能的相關(guān)知識(shí)實(shí)現(xiàn)對弈。五子棋手機(jī)游戲是大眾游戲,游戲者只要具備一般的操作知識(shí)就可以進(jìn)入游戲。對玩游戲者并沒有什么特殊要求。此款手機(jī)游戲?yàn)槠孱愑螒?,就是為了讓人們閑暇時(shí)間休閑、鍛煉棋藝,游戲設(shè)計(jì)盡可能地模擬現(xiàn)實(shí)生活中的場景。a) 游戲開始界面:玩家可使用“開始”軟鍵進(jìn)入游戲。 b) 棋子選擇功能:玩家可選擇走棋先后順序,黑先白后。c) 棋盤界面:對弈界面,使用上、下、左、右鍵來移動(dòng)落子點(diǎn)位,使用確定按鈕來落子,相應(yīng)條件下可實(shí)現(xiàn)悔棋、暫停、重新開始游戲功能。d) 勝負(fù)判斷:涉及人工智能,用以判斷人與機(jī)器的輸贏狀況,游戲無“禁手” ,五子首先連成一線則為勝。 系統(tǒng)概要設(shè)計(jì) 模塊劃分在完成了需求分析后,需要對此游戲進(jìn)行總體的規(guī)劃,模塊的劃分,基本的流程設(shè)計(jì)。在總體規(guī)劃期間相對要考慮到游戲的擴(kuò)展性,因?yàn)樵谧畛踉O(shè)計(jì)游戲的時(shí)候不可能面面俱到,而且隨著技術(shù)的發(fā)展,也需要游戲具有很好的擴(kuò)充性。此次系統(tǒng)設(shè)計(jì)的主要模塊分為:歡迎模塊、規(guī)則說明模塊、對弈模塊、勝負(fù)判斷模塊。各主要模塊的功能描述如下:歡迎模塊:這部分是游戲出現(xiàn)的第一個(gè)界面,主要是為了說明已經(jīng)進(jìn)入五子棋游戲系統(tǒng)。規(guī)則說明模塊:此模塊主要是游戲者的選擇界面。提供的選擇項(xiàng)有游戲說明,開始游戲和退出游戲。對弈模塊:該部分主要是進(jìn)行人機(jī)對弈的棋盤界面。該模塊中包含悔棋、暫停游戲、放棄本局這些功能。勝負(fù)判斷模塊:這部分即是對每次棋局結(jié)果的判斷,是人贏了或者是機(jī)器獲勝。系統(tǒng)主要功能模塊如圖 31 所示。圖 31 系統(tǒng)功能模塊圖 系統(tǒng)流程明確了主要模塊功能后,就需要對此游戲軟件基本流程有一個(gè)總體規(guī)劃,本款手機(jī)游戲軟件基本流程圖如圖32所示。游戲規(guī)則界面棋子類型選擇選擇黑子 玩家先行選擇白子 機(jī)器先行棋盤對弈界面結(jié)果判斷界面開始游戲退出游戲落子走棋實(shí)現(xiàn)悔棋暫停/恢復(fù)游戲放棄本局基于 J2ME 的手機(jī)五子棋游戲歡迎模塊勝負(fù)判斷模塊規(guī)則說明模塊對弈模塊圖 32 系統(tǒng)基本流程圖 系統(tǒng)用例圖 游戲設(shè)計(jì)用例圖如圖 33 所示。 圖 33 系統(tǒng)用例圖 主要類的介紹 J2ME 是面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,類是其設(shè)計(jì)的核心。程序總體設(shè)計(jì)階段首要任務(wù)就是設(shè)計(jì)好相應(yīng)的類,只要類設(shè)計(jì)好了可以讓程序一目了然。在這款游戲中,總共是分為了八個(gè)類,其實(shí)很多類都是相對類似的。首要的類是 MIDlet 類的子類Wuziqi,它是整個(gè)程序的框架,程序的運(yùn)行必須從它開始。其次根據(jù)前面設(shè)計(jì)的功能模塊的劃分,相應(yīng)的要設(shè)計(jì)各個(gè)子類,如游戲歡迎界面、游戲說明界面、棋盤設(shè)計(jì)界面、棋子設(shè)計(jì)、對弈界面、人工智能的實(shí)現(xiàn)界面等,另外的 J2ME 技術(shù)主要就是在屏幕繪制的基礎(chǔ)上利用命令監(jiān)聽實(shí)現(xiàn)各個(gè)功能。主要類的作用說明:a) 該 java 文件是設(shè)計(jì) MIDlet 程序的基本框架,該生命周期繼承了 抽象類。程序從該類開始執(zhí)行。b) 該文件生成的類顯示開始游戲入口以及游戲說明。c) 該文件生成的類用來創(chuàng)建棋盤對象,在畫布上繪制棋盤,另外,獲得棋盤上棋子信息。將手機(jī)上的軟鍵轉(zhuǎn)化為游戲鍵進(jìn)行走棋控制。棋盤可進(jìn)行悔棋、暫停、放棄游戲。d) 該文件生成的類負(fù)責(zé)創(chuàng)建棋子對象,棋子對象可以獲取本身的顏色外觀。e) 該文件生成的類用來創(chuàng)建棋盤的棋點(diǎn)對象??梢耘袛嘣擖c(diǎn)上是否有棋子、指定當(dāng)前點(diǎn)上的棋子、獲取當(dāng)前點(diǎn)上的棋子、移動(dòng)當(dāng)前點(diǎn)上的棋子。 f) extendextendextendextend選擇棋子人機(jī)對弈落子走棋悔棋暫停游戲放棄本局玩家該文件類主要是實(shí)現(xiàn)走棋算法以及結(jié)局判斷。4 系統(tǒng)詳細(xì)設(shè)計(jì) 界面設(shè)計(jì)該部分主要說明手機(jī)游戲畫面顯示,包括一開始項(xiàng)目的創(chuàng)建、畫面的低級(jí)繪制、圖像的獲取、UI 組件的顯示及如何進(jìn)行游戲按鍵處理。本程序的設(shè)計(jì)主要使用了 MIDP 所提供的 包中的類來實(shí)現(xiàn)手機(jī)的用戶界面。各個(gè)類如表 41 所示。表41 類 描 述接口Choice 提供一個(gè)常規(guī)的接口來管理選中的項(xiàng)目CommandListener 允許創(chuàng)建一個(gè)高級(jí)的UI命令消息的監(jiān)聽器UI系統(tǒng)以及工具類Display 代表系統(tǒng)顯示設(shè)備和輸入設(shè)備的管理器Font 獲得字體對象和它們的尺寸Image 提供一個(gè)類來保存圖像對象(以PNG格式)AlertType 提供一個(gè)幫助類來定義可以創(chuàng)建的Alert的類型Displayable 提供一個(gè)可以顯示對象的抽象基類高級(jí)UICommand 抽象用戶的交互動(dòng)作Screen類Screen 提供高級(jí)UI組件的基類Alert 提供一個(gè)Screen來警告一些事情List 提供一個(gè)Screen對象包括一列被選項(xiàng)Forms amp。 ItemsChoiceGroup 提供一個(gè)UI組件代表一列選項(xiàng)ImageItem 提供一個(gè)圖像ItemTicker 提供一個(gè)Item在display上面顯示一條滾動(dòng)的文字低級(jí)UIGraphics 提供二維圖像工具Canvas 提供一個(gè)創(chuàng)建低級(jí)UI圖像的基類 項(xiàng)目創(chuàng)建 首先是在 NetBeans IDE 環(huán)境中創(chuàng)建項(xiàng)目,如圖 41 所示。然后設(shè)置項(xiàng)目名稱,如圖 42 所示。再選擇相應(yīng)的平臺(tái),如圖 43 所示。圖 41 新建項(xiàng)目圖 42 設(shè)置項(xiàng)目名稱和位置圖 43 選擇平臺(tái) 手機(jī)游戲外觀設(shè)計(jì) 首先,MIDlet 應(yīng)用程序的核心即為 MIDlet 類。MIDlet 事件處理分為高級(jí)與低級(jí)事件處理,則可實(shí)現(xiàn)設(shè)備內(nèi)的應(yīng)用程序與用戶之間的交互機(jī)制。該類是設(shè)計(jì)MIDlet 程序的基本框架,生命周期繼承了 抽象類。在active狀態(tài)調(diào)用destroyApp(boolean unconditional)或者pauseApp()方法可以使得MIDlet進(jìn)入destroyed或者pause狀態(tài)。所使用的方法闡述如表42所示。表42 方 法 描 述abstract void destroyApp(boolean unconditional)應(yīng)用程序管理器在應(yīng)用程序關(guān)閉前,調(diào)用這個(gè)方法,可以保存狀態(tài)和釋放資源等abstract void pauseApp() 在用戶暫停游戲時(shí),應(yīng)用程序管理器調(diào)用MIDlet的這個(gè)方法abstract void startApp() 應(yīng)用程序管理器調(diào)用MIDlet的這個(gè)方法,告訴用戶想要再次開始游戲abstract void notifyDestroyed() 如果游戲者決定退出游戲,調(diào)用這個(gè)方法來通知應(yīng)用程序管理器abstract void notifyPaused() 調(diào)用該方法來通知管理器游戲者已經(jīng)暫停了游戲abstract void resumeRequest() 調(diào)用該方法告訴應(yīng)用程序管理器MIDlet需要重新開始應(yīng)用程序管理器(AM)的作用是管理MIDlet。它是一個(gè)主控程序,控制著正在發(fā)生的事情。如背景知識(shí)中所介紹,MIDlet被創(chuàng)建后默認(rèn)為暫停狀態(tài)。當(dāng)應(yīng)用程序認(rèn)為它準(zhǔn)備完畢,它會(huì)調(diào)用startApp()方法來通知MIDlet進(jìn)入運(yùn)行狀態(tài)。主MIDlet類的成員結(jié)構(gòu)如圖44所示。圖44 主MIDlet類的成員結(jié)構(gòu)管理畫面顯示功能的 類。這個(gè) Display類可以讓 類的子類顯示在畫面上。Displayable 類的子類大致說來可以分為兩種,分別為用來進(jìn)行線與圖形和圖像的低級(jí)描繪類,與用于顯示警告與文本的輸入,選擇列表等 UI 組件類。前者是指 類,后者是指 類與其子類(Alert,Form,List 類等)。它們之間的關(guān)系如下圖 45 所示。用來顯示畫面用的Display對象,可以從Display類的Static方法getDisplay(MIDlet)的返回值獲取。通過在獲取的Display 對象上設(shè)置Displayable對象,就可以讓Displayable對象顯示在畫面上。以下的程序代碼為畫面顯示的范例: Display dis=(this) ;(new Test());本設(shè)計(jì)中主要使用到的類和方法如表 43 所示。表43 方 法 描 述void setCurrent (Displayable nextDisplayable) 要求不同的可視對象能在屏幕上顯示Void setCurrent(Alert alert, Displayable nextDisplayable) 顯示當(dāng)前的Alert對象并且設(shè)置Alert顯示后的下一個(gè)可視對象Displayable getCurrent() 獲取當(dāng)前的Displayable對象static Display getDisplay(MIDlet m) 為MIDlet獲取當(dāng)前的Display對象int numColors() 獲取顏色數(shù)量(如果不支持顏色,則為灰度的層次)圖 45 Display 類關(guān)系圖另外,Graphics中提供了對了對字體的控制方法,每個(gè)Graphics都有一個(gè)Font對象與其關(guān)聯(lián),來進(jìn)行文字的渲染操作,調(diào)用其類方法setFont(null),即可使字體恢復(fù)到默認(rèn)狀態(tài),對于具體的參數(shù),F(xiàn)ont提供了以下常量,來控制Font的屬性:字體大小:SMALL、MEDIUM、LARGE字體外觀:PROPORTIONAL、MONOSPACE、SYSTEM字體風(fēng)格:PLAIN、BOLD、ITALIC、UNDERLINED通過charWidht(),charsWidth(),stringWidth(),substringWidth()來獲得字符串,字符,字符集合的寬度,垂直方面則可以參考getHeight()和getBaselinePosition()方法獲得。選擇界面效果如圖 46 和 47 所示。圖 46 功能選擇界面圖 47 棋子選擇界面 圖形的低級(jí)繪制 若是要在MIDlet中使用低級(jí)用戶界面設(shè)計(jì),就必須定義一個(gè)從Canvas類派生出來的子類。Canvas類是一個(gè)抽象類,必須在它的基礎(chǔ)上進(jìn)行派生而不能直接定義實(shí)例。 在Canvas類的子類中必須實(shí)現(xiàn)paint()方法。Graphics對象包含了所
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1