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

正文內(nèi)容

基于android數(shù)獨(dú)游戲設(shè)計(jì)畢業(yè)設(shè)計(jì)論文-資料下載頁

2025-06-28 01:47本頁面
  

【正文】 實(shí)現(xiàn)游戲中關(guān)于游戲幫助和游戲說明,我們分別通過HelpView類和AboutView類的實(shí)現(xiàn)。HelpView類和AboutView類都是通過onDraw()方法來繪制界面。由于這兩個(gè)類在很大程度上是相似的,所以下面只分析HelpView類,代碼如下所示: public HelpView(KLSDActivity activity) {super(activity)。 = activity。//得到activity的引用surfaceHolder = ()。//獲得surfaceHoldergetHolder().addCallback(this)。//添加Callback接口的實(shí)現(xiàn)helpBitmap = (getResources(), 南京工業(yè)大學(xué)本科生畢業(yè)設(shè)計(jì)(論文)23)。}public void onDraw(Canvas canvas) {//繪制方法()。//背景色(helpBitmap, 0, 0, null)。//繪制圖片}public boolean onTouchEvent(MotionEvent event) {//鍵盤監(jiān)聽方法if(() == ){//屏幕被按下double x = ()。double y = ()。//得到坐標(biāo)if(x270 amp。amp。 x310 amp。amp。 y440 amp。amp。 y480){//點(diǎn)擊確定按鈕(2)。}}return (event)。}public HelpView(KLSDActivity activity) 為“幫助”界面的構(gòu)造器,在構(gòu)造器中先得到activity 以及surfaceHolder的引用,然后添加Callback 接口的實(shí)現(xiàn)并對(duì)圖片資源進(jìn)行初始化。onDraw()為重寫的繪制方法,在該方法中,首先繪制白色背景,然后將幫助界面的背景圖片繪制到指定位置。onTouchEvent()為重寫的鍵盤監(jiān)聽方法,當(dāng)玩家點(diǎn)擊屏幕時(shí),會(huì)調(diào)用該方法來處理玩家的屏幕事件,在“幫助”界面中該方法實(shí)現(xiàn)比較簡單,只是判斷玩家點(diǎn)擊的是否為返回按鈕即可。當(dāng)玩家點(diǎn)擊返回按鈕時(shí),需要向activity 發(fā)送Handler 消息通知控制器切換屏幕。 游戲界面相關(guān)類的實(shí)現(xiàn)游戲界面實(shí)現(xiàn)游戲展示,計(jì)時(shí)界面展示,以及功能按鍵。流程圖如下圖所示:第四章 基于 Android 平臺(tái)數(shù)獨(dú)游戲的實(shí)現(xiàn)24開始生成數(shù)獨(dú)填數(shù)區(qū)域換題提示提示 暫停計(jì)時(shí)暫停填數(shù)檢測退出結(jié)束是否是否是否是否圖 游戲界面流程圖 游戲界面 GameView 的實(shí)現(xiàn)首先理解下GameView的運(yùn)行思路,GameView在初始化時(shí)候讀取相關(guān)圖片信息,包括背景圖片,數(shù)獨(dú)背景框圖片等等,在初始化同時(shí),啟動(dòng)GameViewDrawThread線程進(jìn)行刷幀,TimeThread 線程來更新界面中的時(shí)間。當(dāng)玩家點(diǎn)擊背景框空白位置,需要繪制數(shù)字鍵盤時(shí),會(huì)啟動(dòng)DrawKeyThread 線程繪制數(shù)字鍵盤。當(dāng)玩家點(diǎn)擊按鈕時(shí)候,相關(guān)方法會(huì)被調(diào)用。以上的過程都需要KLSDActivity的參與管理。GameView 同樣繼承自SurfaceView 類,其關(guān)鍵也是實(shí)現(xiàn)onDraw()方法。onDraw()方法分別繪制游戲界面背景圖片,數(shù)字背景框,選題提示等等按鈕,時(shí)間顯示區(qū)域等。DrawKey()方法實(shí)現(xiàn)了數(shù)字鍵盤的繪制,保證在點(diǎn)擊空白框時(shí)候有圓盤數(shù)字選框出現(xiàn)。通過surfaceCreated()和surfaceDestroyed()兩個(gè)方法負(fù)責(zé)相關(guān)線程的啟動(dòng)和調(diào)用工作。南京工業(yè)大學(xué)本科生畢業(yè)設(shè)計(jì)(論文)25 時(shí)間線程 TimeThread 的實(shí)現(xiàn)TimeThread線程主要用來更新界面中的時(shí)間,作為數(shù)獨(dú)游戲玩家計(jì)時(shí)功能,代碼如下:public class TimeThread extends Thread{GameView gameView。//聲明GameView的引用boolean flag=true。//循環(huán)標(biāo)志位public TimeThread(GameView gameView){//構(gòu)造器=gameView。//得到GameView的引用}public void run(){//重寫的run方法while(flag){++。//時(shí)間自加try{(1000)。//睡眠一秒種}catch(Exception e){//捕獲異常()。//打印異常信息}}}}TimeThread 類的實(shí)現(xiàn)比較簡單,更改一下GameView 中表示時(shí)間的屬性即可。public TimeThread(GameView gameView) 為時(shí)間線程的構(gòu)造器,在構(gòu)造器中先得到GameView的引用。然后重寫run()方法,通過時(shí)間的自加,實(shí)現(xiàn)一秒鐘功能。 數(shù)獨(dú)算法類的實(shí)現(xiàn)數(shù)獨(dú)算法類主要實(shí)現(xiàn)數(shù)獨(dú)的生成以及填入數(shù)字的檢測功能,流程圖如下:第四章 基于 Android 平臺(tái)數(shù)獨(dú)游戲的實(shí)現(xiàn)26開始生成數(shù)獨(dú)填入數(shù)字符合規(guī)則游戲成功結(jié)束是否圖 WeleView 類功能流程圖 數(shù)獨(dú)算法基本邏輯 進(jìn)行解釋,該類基本上是數(shù)學(xué)計(jì)算,通過一定的算法產(chǎn)生所需要的數(shù)獨(dú)數(shù)組,通過特定的接口供其他類使用。該類的目的是創(chuàng)建一個(gè)二維數(shù)組來表示數(shù)獨(dú)矩陣。使矩陣的每行、每列、每塊都沒有重復(fù)的數(shù)字。算法的簡單思路是先隨機(jī)取出一個(gè)0~9 的數(shù)字,然后檢查其所在的行、列、塊是否都符合要求。當(dāng)符合要求時(shí)繼續(xù)填充下一個(gè),而當(dāng)不符合要求時(shí),再次隨機(jī)取出一個(gè)沒有取出過的數(shù)字,再判斷。當(dāng)9 個(gè)數(shù)字都取出過后還沒有找到符合要求的數(shù)字時(shí),進(jìn)行回退處理,即將最后一個(gè)取出的符合要求的數(shù)字進(jìn)行重新取值,直到所有數(shù)字全部填充完畢。在求解數(shù)獨(dú)時(shí)候,運(yùn)用到回溯法,將所有的解(問題的解空間)按照一定結(jié)構(gòu)排列,再進(jìn)行搜索。一般解空間構(gòu)造成為為樹狀結(jié)構(gòu),用深度優(yōu)先的策略搜索,一般有兩種方式:,找到解即停止。,則需做“樹的遍歷”找到所有解?;厮莘ǖ幕咀龇ㄊ撬阉鳎蚴且环N組織得井井有條的,能避免不必要搜索的窮舉式搜索法。這種方法適用于解一些組合數(shù)相當(dāng)大的問題。南京工業(yè)大學(xué)本科生畢業(yè)設(shè)計(jì)(論文)27回溯法在問題的解空間樹中,按深度優(yōu)先策略,從根結(jié)點(diǎn)出發(fā)搜索解空間樹。算法搜索至解空間樹的任意一點(diǎn)時(shí),先判斷該結(jié)點(diǎn)是否包含問題的解。如果肯定不包含,則跳過對(duì)該結(jié)點(diǎn)為根的子樹的搜索,逐層向其祖先結(jié)點(diǎn)回溯;否則,進(jìn)入該子樹,繼續(xù)按深度優(yōu)先策略搜索?;厮莘ㄊ且环N搜索算法,其基本思路是:在一個(gè)問題中,根據(jù)題意給出的邊界條件劃定出所有可能解的范圍(稱為可能解) ,根據(jù)題意確定出約束條件。利用程序順次在所有可能解中搜索時(shí)按照深度搜索的方式進(jìn)行。即在第一層選定一個(gè)滿足約束條件的解,然后以該可能解為出發(fā)點(diǎn),搜索第二層的一個(gè)可能解(試探) 。如果搜索到第二層的一個(gè)可能解,則繼續(xù)搜索第三層得一個(gè)可能解。依次類推,直到所有層得可能解都被找到,則得到了該問題的一個(gè)完整解。如果第二層所有的肯可能解都不滿足約束條件,則返回第一層,放棄原有的可能解,使用第一層的下一個(gè)可能解(回溯) 。一次類推,尋找第二層的一個(gè)可能解?;厮莘ㄏ鄬?duì)于其他窮舉的特點(diǎn)在于,不必把問題的每一層的所有可能解都遍歷一遍,只要當(dāng)前的可能解不滿足約束條件就拋棄該解,尋求下一個(gè)可能解,而不必求解其余的下層解。當(dāng)當(dāng)前層得所有可能解都不滿足約束條件,則回溯到上一層,拋棄上一層的當(dāng)前可能解。從以上分析中結(jié)合數(shù)獨(dú)問題的規(guī)則,得出數(shù)獨(dú)問題的約束條件為:每一格的數(shù)值范圍僅限 19每一格內(nèi)的數(shù)字在當(dāng)前行不允許重復(fù)每一格內(nèi)的數(shù)字在當(dāng)前列不允許重復(fù)每一格內(nèi)的數(shù)字在當(dāng)前小宮格內(nèi)不允許重復(fù)由此,回溯法通過約束條件的篩選,在所有解中除掉不可能的解,從而獲得問題的一個(gè)或者全部解。 檢測填充結(jié)果 根據(jù)數(shù)獨(dú)游戲的規(guī)則,玩家填充 81 個(gè)宮格之后,要滿足所有行,所有列和所有小九宮格內(nèi)不能出現(xiàn)重復(fù)的數(shù)字,并以此為條件進(jìn)行檢測。第四章 基于 Android 平臺(tái)數(shù)獨(dú)游戲的實(shí)現(xiàn)28列檢測首先對(duì)各列進(jìn)行檢測,提供了檢測列內(nèi) 9 個(gè)數(shù)字是否有重復(fù)數(shù)據(jù)的方法checkLine (),該方法以此遍歷列中的 9 個(gè)數(shù)字,當(dāng)遍歷到某個(gè)數(shù)字時(shí),檢測該數(shù)字后面的數(shù)字是否出現(xiàn)重復(fù)。比如,當(dāng)檢測到第 3 個(gè)數(shù)字是 7 時(shí),則檢測第 49 個(gè)數(shù)字是否出現(xiàn) 7,如果出現(xiàn)重復(fù)則停止檢測,只有既可以避免重復(fù)檢測,又可以避免遺漏。 public boolean checkLine(int col){// 檢查列是否符合要求 for(int j = 0。j 8。j++){ if(n[j][col] == 0){ continue。 } for(int k =j + 1。k 9。k++){ if(n[j][col] == n[k][col]){ return false。 } } } return true。}行檢測類似于對(duì)列數(shù)據(jù)的檢測,還需要對(duì)每行進(jìn)行檢測,因此程序提供了對(duì)行數(shù)據(jù)的檢測方法 checkRow (),該方法代碼如下:public boolean checkRow(int row){//檢查行是否符合要求 for(int j = 0。j 8。j++){ if(n[row][j] == 0){ continue。 } for(int k =j + 1。k 9。k++){ if(n[row][j] == n[row][k]){ return false。 } } } return true。}小九宮格檢測南京工業(yè)大學(xué)本科生畢業(yè)設(shè)計(jì)(論文)29除了對(duì)行和列的重復(fù)數(shù)據(jù)檢測之外,還需要對(duì)小九宮格內(nèi)的所有數(shù)字進(jìn)行檢測,避免出現(xiàn)重復(fù)現(xiàn)象。檢測原理與行,列檢測相同,但需要計(jì)算九宮格內(nèi)數(shù)字的位置。Row 和 Col 指定了檢測九宮格的位置,數(shù)獨(dú)單元格中一共有 33個(gè)九宮格,Row 和 Col 的范圍為 0 到 2。用以下程序完成九宮格內(nèi)重復(fù)數(shù)字的檢測。public boolean checkNine(int row,int col){//檢查3X3區(qū)域是否符合要求int j = row/3*3。//獲得左上角的坐標(biāo)int k = col/3*3。for(int i = 0。i 8。i++){//循環(huán)比較if(n[j + i/3][k + i % 3] == 0){continue。}for(int m = i+ 1。m 9。m++){if(n[j + i/3][k + i % 3] == n[j + m/3][k + m % 3]){return false。 }}}return true。} 游戲的測試和運(yùn)行 游戲測試概述當(dāng)游戲軟件制作完成之后,為了驗(yàn)證本游戲是否存在缺陷、能否達(dá)到預(yù)期的設(shè)計(jì)標(biāo),我們還需要在預(yù)設(shè)環(huán)境(如:模擬環(huán)境或真實(shí)移動(dòng)終端設(shè)備)中進(jìn)行調(diào)試和運(yùn)行,以發(fā)現(xiàn)游戲中可能存在的問題和不足、解決這些缺陷,從而完善軟件功能并進(jìn)而提升產(chǎn)品質(zhì)量。作為軟件測試的重要組成部分,游戲測試具備軟件測試的一切共同特性,但由于游戲本身又具有一定的特殊性,因而游戲測試主要由兩個(gè)部分組成:(1)傳統(tǒng)的軟件測試由于測試是軟件開發(fā)過程中極為重要的組成部分,因而針對(duì)軟件本身的測試貫穿于軟件存在的整個(gè)生命周期。首先,程序員需要在程序設(shè)計(jì)開發(fā)過程中按階段對(duì)產(chǎn)生的模塊集中測試,以保證系統(tǒng)各模塊能實(shí)現(xiàn)各自的功能,在此階第四章 基于 Android 平臺(tái)數(shù)獨(dú)游戲的實(shí)現(xiàn)30段軟件的測試一般主要集中在程序的細(xì)節(jié)部分。當(dāng)軟件制作開發(fā)出來之后,為保證軟件整體的完善性,還需要在軟件工程理論的指導(dǎo)下對(duì)整個(gè)系統(tǒng)進(jìn)行測試,這階段的測試主要有黑盒測試和白盒測試。所謂黑盒測試就是把要測試的對(duì)象當(dāng)作一個(gè)黑盒子,不需要知道里面是怎么處理的,只要對(duì)輸入和輸出數(shù)據(jù)進(jìn)行測試,這種測試方案屬于高端測試,主要是在操作層面對(duì)游戲進(jìn)行測試;而白盒測試正好相反,基于白盒測試的測試方案屬于低端測試,是對(duì)各種設(shè)計(jì)細(xì)節(jié)方面的測試,測試者必須對(duì)測試對(duì)象的內(nèi)部處理過程非常了解,對(duì)里面所有的分支和循環(huán)進(jìn)行實(shí)驗(yàn)從而達(dá)到測試的目的。在進(jìn)行軟件測試的過程中,測試人員應(yīng)根據(jù)需要把墨盒和白盒測試有效的結(jié)合,以達(dá)到發(fā)現(xiàn)軟件錯(cuò)誤并進(jìn)而完善軟件的目的。(2)對(duì)游戲性的測試由于游戲特別是在很大程度上是對(duì)現(xiàn)實(shí)世界的一種模擬,因而它不但包含了人類社會(huì)的一部分特性,同時(shí)還涉及娛樂性、可玩性等獨(dú)有特點(diǎn),所以針對(duì)游戲的測試還包括三個(gè)部分:①游戲情節(jié)的測試:主要是針對(duì)體現(xiàn)游戲主線的故事情節(jié)和游戲世界中的任務(wù)系統(tǒng)等進(jìn)行測試。②游戲世界的平衡測試:平衡性主要體現(xiàn)在經(jīng)濟(jì)平衡、能力平衡(包含技能、屬性等等),測試的目的是為了能保證游戲世界的公平競爭。③游戲文化的測試:比如整個(gè)游戲世界的風(fēng)格,是中國文化主導(dǎo),還是日韓風(fēng)格等等,大到游戲整體,小到 NPC 對(duì)話,比如一個(gè)書生,他的對(duì)話就必需斯文,不可以用江湖語言。目前在游戲開發(fā)過程中,對(duì)游戲性的測試主要有以下幾種實(shí)現(xiàn)途徑:一是通過內(nèi)部測試人員對(duì)以下的三個(gè)方面進(jìn)行測試,由于他們往往都是經(jīng)過精選而來的職業(yè)玩家,對(duì)游戲有很深的認(rèn)識(shí),因而也能較好完成游戲的測試目標(biāo);二是
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1