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

正文內(nèi)容

基于j2me的手機五子棋游戲的設(shè)計與實現(xiàn)(編輯修改稿)

2025-07-15 17:03 本頁面
 

【文章內(nèi)容簡介】 E開發(fā)環(huán)境下進行開發(fā)、測試與調(diào)試?;贘2ME平臺,它將Java語言的與平臺無關(guān)的特性移植到小型電子設(shè)備上,允許移動無線設(shè)備之間共享應(yīng)用程序。NetBeans是一套完全以Java撰寫而成、并且開放原始碼的開發(fā)工具。Java Studio Micro Edition大致上是把NetBeans IDE和J2ME Wireless Toolkit結(jié)合在一起的產(chǎn)品??梢苑奖鉐2ME應(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提出的一系列標(biāo)準(zhǔn)使得使用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) 勝負(fù)判斷:涉及人工智能,用以判斷人與機器的輸贏狀況,游戲無“禁手”,五子首先連成一線則為勝。 系統(tǒng)概要設(shè)計 模塊劃分在完成了需求分析后,需要對此游戲進行總體的規(guī)劃,模塊的劃分,基本的流程設(shè)計。在總體規(guī)劃期間相對要考慮到游戲的擴展性,因為在最初設(shè)計游戲的時候不可能面面俱到,而且隨著技術(shù)的發(fā)展,也需要游戲具有很好的擴充性。此次系統(tǒng)設(shè)計的主要模塊分為:歡迎模塊、規(guī)則說明模塊、對弈模塊、勝負(fù)判斷模塊。各主要模塊的功能描述如下:歡迎模塊:這部分是游戲出現(xiàn)的第一個界面,主要是為了說明已經(jīng)進入五子棋游戲系統(tǒng)。規(guī)則說明模塊:此模塊主要是游戲者的選擇界面。提供的選擇項有游戲說明,開始游戲和退出游戲。對弈模塊:該部分主要是進行人機對弈的棋盤界面。該模塊中包含悔棋、暫停游戲、放棄本局這些功能。勝負(fù)判斷模塊:這部分即是對每次棋局結(jié)果的判斷,是人贏了或者是機器獲勝。系統(tǒng)主要功能模塊如圖31所示。圖31 系統(tǒng)功能模塊圖 系統(tǒng)流程明確了主要模塊功能后,就需要對此游戲軟件基本流程有一個總體規(guī)劃,本款手機游戲軟件基本流程圖如圖32所示。游戲規(guī)則界面棋子類型選擇選擇黑子 玩家先行選擇白子 機器先行棋盤對弈界面結(jié)果判斷界面開始游戲退出游戲落子走棋實現(xiàn)悔棋暫停/恢復(fù)游戲放棄本局基于J2ME的手機五子棋游戲歡迎模塊勝負(fù)判斷模塊規(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) extendextendextendextend選擇棋子人機對弈落子走棋悔棋暫停游戲放棄本局玩家該java文件是設(shè)計MIDlet程序的基本框架。程序從該類開始執(zhí)行。b) 該文件生成的類顯示開始游戲入口以及游戲說明。c) 該文件生成的類用來創(chuàng)建棋盤對象,在畫布上繪制棋盤,另外,獲得棋盤上棋子信息。將手機上的軟鍵轉(zhuǎn)化為游戲鍵進行走棋控制。棋盤可進行悔棋、暫停、放棄游戲。d) 該文件生成的類負(fù)責(zé)創(chuàng)建棋子對象,棋子對象可以獲取本身的顏色外觀。e) 該文件生成的類用來創(chuàng)建棋盤的棋點對象??梢耘袛嘣擖c上是否有棋子、指定當(dāng)前點上的棋子、獲取當(dāng)前點上的棋子、移動當(dāng)前點上的棋子。 f) 該文件類主要是實現(xiàn)走棋算法以及結(jié)局判斷。4 系統(tǒng)詳細設(shè)計 界面設(shè)計該部分主要說明手機游戲畫面顯示,包括一開始項目的創(chuàng)建、畫面的低級繪制、圖像的獲取、UI組件的顯示及如何進行游戲按鍵處理。實現(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)建后默認(rèn)為暫停狀態(tài)。當(dāng)應(yīng)用程序認(rèn)為它準(zhǔn)備完畢,它會調(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) 顯示當(dāng)前的Alert對象并且設(shè)置Alert顯示后的下一個可視對象Displayable getCurrent() 獲取當(dāng)前的Displayable對象static Display getDisplay(MIDlet m) 為MIDlet獲取當(dāng)前的Display對象int numColors() 獲取顏色數(shù)量(如果不支持顏色,則為灰度的層次)圖45 Display類關(guān)系圖另外,Graphics中提供了對了對字體的控制方法,每個Graphics都有一個Font對象與其關(guān)聯(lián),來進行文字的渲染操作,調(diào)用其類方法setFont(null),即可使字體恢復(fù)到默認(rèn)狀態(tài),對于具體的參數(shù),F(xiàn)ont提供了以下常量,來控制Font的屬性:字體大?。篠MALL、MEDIUM、LARGE字體外觀:PROPORTIONAL、MONOSPACE、SYSTEM字體風(fēng)格:PLAIN、BOLD、ITALIC、UNDERLINED通過charWidht(),charsWidth(),stringWidth(),substringWidth()來獲得字符串,字符,字符集合的寬度,垂直方面則可以參考getHeight()和getBaselinePosition()方法獲得。選擇界面效果如圖46和47所示。圖46 功能選擇界面圖47棋子選擇界面 圖形的低級繪制 若是要在MIDlet中使用低級用戶界面設(shè)計,就必須定義一個從Canvas類派生出來的子類。Canvas類是一個抽象類,必須在它的基礎(chǔ)上進行派生而不能直接定義實例。 在Canvas類的子類中必須實現(xiàn)paint()方法。Graphics對象包含了所有的在屏幕上繪畫的方法,例如drawArc()、drawLine()、drawRect()和drawString()等。在Graphics對象中支持使用24bits的RGB(RGB代表Red,blue,Green,即使用紅黃藍三種基色來合成任意的顏色)顏色。如果MIDlet運行的模擬器上不支持這么多的顏色,則這些顏色將被最相似的顏色代替。Canvas又稱畫布,是一個Displayable對象,所有的繪圖操作均在上面,它屬于低級UI引擎中的一個類。低級UI提供了一個工具包用來移動和繪制圖形、顯示文字,獲取直接的按鍵事件等等。表44 方 法 描 述通用方法int getGameAction (int keyCode) 獲取與一個鍵代碼相關(guān)的游戲動作int getKeyCode (int gameAction) 獲取與一個游戲動作相關(guān)的鍵代碼String getKe
點擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1