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

正文內(nèi)容

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

2025-07-15 17:13 本頁面
 

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