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

正文內(nèi)容

基于android數(shù)獨游戲設(shè)計_畢業(yè)設(shè)計論文(參考版)

2024-08-31 15:39本頁面
  

【正文】 } } } return true。m 9。i++){//循環(huán)比較 if(n[j + i/3][k + i % 3] == 0){ continue。 for(int i = 0。 public boolean checkNine(int row,int col){//檢查 3X3區(qū)域是否符合要求 int j = row/3*3。 Row 和 Col 指定了檢測九宮格的位置,數(shù)獨單元格中一共有 3 3 個九宮格, Row 和 Col 的范圍為 0 到 2。 } 小九宮格檢測 除了對行和列的重復(fù)數(shù)據(jù)檢測之外,還需要對小九宮格內(nèi)的所有數(shù)字進行檢南京工業(yè)大學(xué)本科生畢業(yè)設(shè)計 (論文 ) 29 測,避免出現(xiàn)重復(fù)現(xiàn)象。k++){ if(n[row][j] == n[row][k]){ return false。 } for(int k =j + 1。j 8。 } } } return true。k 9。j++){ if(n[j][col] == 0){ continue。 public boolean checkLine(int col){// 檢查列是否符合要求 for(int j = 0。 列檢測 第四章 基于 Android 平臺數(shù)獨游戲的實現(xiàn) 28 首先對各列進行檢測,提供了檢測列內(nèi) 9個數(shù)字是否有重復(fù)數(shù)據(jù)的方法 checkLine (),該方法以此遍歷列中的 9個數(shù)字,當遍歷到某個數(shù)字時,檢測該數(shù)字后面的數(shù)字是否出現(xiàn)重復(fù)。 從以上分析中結(jié)合數(shù)獨問題的規(guī)則,得出數(shù)獨問題的約束條件為: 每一格的數(shù)值范圍僅限 19 每一格內(nèi)的數(shù)字在當前行不允許重復(fù) 每一格內(nèi)的數(shù)字在當前列不允許重復(fù) 每一格內(nèi)的數(shù)字在當前小宮格內(nèi)不允許重復(fù) 由此,回溯法通過約束條件的篩選,在所有解中除掉不可能的解,從而獲得問題的一個或者全部解。 回溯法相對于其他窮舉的特點在于,不必把問題的每一層的所有可能解都遍歷一遍,只要當前的可能解不滿足約束條件就拋棄該解,尋求下一個可能解,而不必求解 其余的下層解。如果第二層所有的肯可能解都不滿足約束條件,則返回第一層,放棄原有的可能解,使用第一層的下一個可能解(回溯)。如果搜索到第二層的一個可能解,則繼續(xù)搜索第三層得一個可能解。利用程序順次在所有可能解中搜索時按照深度搜索的方式 進行。如果肯定不包含,則跳過對該結(jié)點為根的子樹的搜索,逐層向其祖先結(jié)點回溯;否則,進入該子樹,繼續(xù)按深度優(yōu)先策略搜索。 南京工業(yè)大學(xué)本科生畢業(yè)設(shè)計 (論文 ) 27 回溯法在問題的解空間樹中,按深度優(yōu)先策略,從根結(jié)點出發(fā)搜索解空間樹。 回溯法的基本做法是搜索,或是一種組織得井 井有條的,能避免不必要搜索的窮舉式搜索法。一般解空間構(gòu)造成為為樹狀結(jié)構(gòu),用深度優(yōu)先的策略搜索,一般有兩種方式: ,找到解即停止。當 9 個數(shù)字都取出過后還沒有找到符合要求的數(shù)字時,進行回退處理,即將最后一個取出的符合要求的數(shù)字進行重新取值,直到所有數(shù)字全部填充完畢。算法的簡單思路是先隨機取出一個 0~9 的數(shù)字,然后檢查其所在的行、列、塊是否都符合要求。 該類的目的是創(chuàng)建一個二維數(shù)組來表示數(shù)獨矩陣。然后重寫 run()方法,通過時間的自加,實現(xiàn)一秒鐘功能。//打印異常信息 } } } } TimeThread 類的實現(xiàn)比較簡單,只需每隔一秒鐘通過 更改一下 GameView 中表示時間的屬性即可。//時間自加 try{ (1000)。//循環(huán)標志位 public TimeThread(GameView gameView){//構(gòu)造器 =gameView。 南京工業(yè)大學(xué)本科生畢業(yè)設(shè)計 (論文 ) 25 時間線程 TimeThread 的實現(xiàn) TimeThread線程主要用來更新界面中的時間,作為數(shù)獨游戲玩家計時功能,代碼如下: public class TimeThread extends Thread{ GameView gameView。 DrawKey()方法實現(xiàn)了數(shù)字鍵盤的繪制,保證在點擊空白框時候有圓盤數(shù)字選框出現(xiàn)。 GameView 同樣繼承自 SurfaceView 類,其關(guān)鍵也是實現(xiàn) onDraw()方法。當玩家點擊按鈕時候,相關(guān)方法會被調(diào)用。流程圖如下圖所示: 第四章 基于 Android 平臺數(shù)獨游戲的實現(xiàn) 24 開 始生 成 數(shù) 獨填 數(shù) 區(qū) 域換 題提 示提 示 暫 停計 時暫 停填 數(shù)檢 測退 出結(jié) 束是否是否是否是否 圖 游戲界面流程圖 游戲界面 GameView 的實現(xiàn) 首先理解下 GameView的運行思路, GameView在初始化時候讀取相關(guān)圖片信息,包括背景圖片,數(shù)獨背景框圖片等等,在初始化同時,啟動GameViewDrawThread線程進行刷幀, TimeThread 線程來更新界面中的時間。當玩家點擊返回按鈕時,需要向 activity 發(fā)送Handler 消息通知控制器切換屏幕。 onDraw() 為重寫的繪制方法,在該方法中,首先繪制白色背景,然后將幫助界面的背景圖片繪制到指定位置。 } } return (event)。amp。amp。amp。 double y = ()。//背景色 (helpBitmap, 0, 0, null)。//添加 Callback接口的實現(xiàn) helpBitmap = (getResources(), )。//得到 activity的引用 surfaceHolder = ()。由于這兩個類在很大程度上是相似的,所以下面只分析 HelpView類,代碼如下所示: public HelpView(KLSDActivity activity) { super(activity)。 HelpView 類和 AboutView 類的實現(xiàn) 游戲中關(guān)于游戲幫助和游戲說明,我們分別通過 HelpView類和 AboutView類的實現(xiàn)。//打印異常信息 } } } 分析該類的 run() 方法,控制 drawIndex的值, 每次循環(huán)將歡迎界面的drawIndex 加 1,然后判斷是否到達數(shù)組的最后,當?shù)竭_最后時,將其減 10,然后繼續(xù)進行循環(huán)。 } try{ (sleepSpan)。//自加 if(){ = 。//打印異常信息 } } } 分析其代碼,這里主要控制 c 值 的變化,當其值為 null 時,結(jié)合 WeleView 第四章 基于 Android 平臺數(shù)獨游戲的實現(xiàn) 22 類里的 onDraw()方法,繪制背景圖片,繪制完成后, c 值不為 null,解鎖屏幕,將畫布置空, c值又為 null,釋放和更新屏幕顯示的內(nèi)容,從而實現(xiàn)刷幀作用。 } } try{ (sleepSpan)。 synchronized () {//同步 (c)。//聲明畫布 while () {//循環(huán) c = null。WeleViewDrawThread類和 WeleViewGoThread類的生成都繼 承自 Thread 類,重寫了 Thread 類里的 run()方法,都是通過 run()方法實現(xiàn)功能。 onTouchEvent()方法為屏幕的監(jiān)聽方 法,該方法通過玩家單擊位置的坐標判斷出玩家單擊的是菜單界面的哪些區(qū)域,并根據(jù)單擊的按鈕向 Activity 的 Handler 發(fā)送消息。 南京工業(yè)大學(xué)本科生畢業(yè)設(shè)計 (論文 ) 21 BitmapID[]創(chuàng)建了存放動畫幀圖片 ID 的數(shù)組,將其存放到數(shù)組中方便管理,在之后進行系統(tǒng)維護時,如需新增動畫幀,只需在此數(shù)組中添加新的 ID 即可。它可以控制表面的格式,比如大小,顯示在屏幕中的位置,最關(guān)鍵是的提供了 SurfaceHolder 類,使用 getHolder 方法獲取。 歡迎界面 WeleView 類的實現(xiàn) 歡迎界面 WeleView類實現(xiàn)的是開機動畫的功能,簡要流程圖如下: 開 始圖 片 載 入文 字 載 入點 擊 屏 幕菜 單 界 面結(jié) 束是否 圖 WeleView類功能流程圖 歡迎界面是通過 WeleView 類實現(xiàn)的。 initAboutView():此函數(shù)初試化關(guān)于界面。 initGameView():此函數(shù)實現(xiàn)游戲界面的切換。 下面介紹 KLSDActivity的成員函數(shù): onCreat():此函數(shù)是 Activity 類的入口函數(shù),在此函數(shù)中先將手機設(shè)置成第四章 基于 Android 平臺數(shù)獨游戲的實現(xiàn) 20 全屏模式,然后切換到加載界面并在后臺初始化歡迎動畫界面。這里重點實現(xiàn)了 Handler類中的 handleMessage()方法,此方法用來接收并處理消息,接收的參數(shù)為一個 Message對象。 Handler機制使得線程間的通信通過 Message和 Runnable對象來傳遞和處理。 Handler myHandler 以上類都是對 View的繼承,其中 WeleView是對歡迎動畫界面的引用,GameView是對游戲界面的引用, AboutView是對目錄界面的引用, HelpView是對幫助界面的引 用, Handler Handler主要負責線程之間的通信,通過接受消息來更新 UI線程中的控件。 AboutView aboutView。組成該類的成員變量如下所示: WeleView weleView。 南京工業(yè)大學(xué)本科生畢業(yè)設(shè)計 (論文 ) 19 第四章 基于 Android 平臺數(shù)獨游戲的實現(xiàn) 歡迎界面的設(shè)計和實現(xiàn) 主類 KLSDActivity 實現(xiàn) 在本游戲設(shè)計中,控制調(diào)度模塊主要是由 KLSDActivity 類來實現(xiàn)的KLSDActivity 繼承自 Activity 類,它提 供了整個游戲的入口。 TimeThread 線程,來更新界面中的時間。 “開始游戲”時,則正式進入游戲界面 GameVew,同時啟動GameViewDrawThread來刷新界面。 “幫助”菜單時,會創(chuàng)建 HelpView,顯示“幫助”界面。 ,首先在 KLSDActivity 中初始化 WeleView,然后將用戶界面切換到歡迎動畫界面 WeleView。 游戲的框架簡介 簡單的框架圖如圖所示。 ( 4)數(shù)字鍵盤渲染線程 DrawKeyThread 類 該線程的作用是數(shù)字鍵盤出現(xiàn)或消失過程中對數(shù)字鍵盤 的漸變處理,邏輯很簡單,定時改變數(shù)字鍵盤圖片透明度即可。 ( 2) GameViewDrawThread 類 GameViewDrawThread 類負責定時的刷幀操作。 3.游戲界面相關(guān)類 ( 1) GameView 類 GameView 類是游戲中最主要的一個類,游戲規(guī)則、游戲模型都包含在此類當中。 ( 4)關(guān)于界面 AboutView 類 該類是游戲關(guān)于界面的實現(xiàn)類,主要負責游戲關(guān)于界面的繪制。 ( 2) WeleViewDrawThread 類 該類為歡迎動畫界面的刷幀線程。 游戲的架構(gòu) 各類的介紹 1.共有類 主類 KLSDActivity 類 該類是通過繼承和擴展基類 Activity 來實現(xiàn)的,是整個應(yīng)用程序的入口,主要是根據(jù)收到的 Handler 消息的不同切換到不同的界面。因為從 開始 SDK 支持各種尺寸的屏幕,所以在 res 下有多個以drawable 開頭的文件夾, mdpi為標準圖庫。因為本游戲并沒有添加音效設(shè)置,所以只需搜集或制作游戲過程中所用到的圖片資源即可,為了保證游戲良好的用戶體驗和交互設(shè)計,本游戲用到的圖片文件資源如所示。 游戲區(qū)實現(xiàn)游戲功能,在游戲區(qū)的空格內(nèi)點擊,會出現(xiàn)數(shù)字選擇鍵,計時區(qū)域內(nèi)顯示計時工功能,功能區(qū)域有四個按鍵,暫停,換題,提示,退出,點擊相關(guān)按鍵,實現(xiàn)相關(guān)功
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1