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

正文內(nèi)容

基于android益智拼圖游戲設(shè)計畢業(yè)論文(編輯修改稿)

2025-07-27 11:34 本頁面
 

【文章內(nèi)容簡介】 ageItem,將各個圖片的序號傳入了數(shù)組中。 public ListMapString, Object getAllItemsForListView() { ListMapString, Object imageItem = new ArrayListMapString, Object()。 for (int i=0。i。i++) { HashMapString, Object tempMap = new HashMapString, Object()。 (ImageView,pictureArray[i])。// (tempMap)。 } return imageItem。 } 步數(shù)和時間設(shè)置 在JigsawActivity的initControls分別給stepNumTV和timeTV做出定義。玩家點擊界面上的“play”按鈕,啟動onClick方法,該方法開始給步數(shù)和時間賦初值。關(guān)于時間設(shè)置,還給出了時間的分秒設(shè)置。這是在timeParser方法中實現(xiàn)的,每過60秒,分鐘加1。游戲過程中圖片移動一次,步數(shù)加1。具體實現(xiàn)如下:在游戲過程中,秒數(shù)一直在加一,這一實現(xiàn)體現(xiàn)在GameRunable 類中的run方法中。當然在秒數(shù)加1之前要先判斷是否為游戲狀態(tài),代碼為: public void run() { while(isGaming){ try { second++。 Message msg=new Message()。 =TIME_MESSAGE。 (msg)。 (1000)。 // } catch (InterruptedException e) { ()。 } }步數(shù)和時間的運行都是handleMessage方法中實現(xiàn),在該方法中通過switch—case語句實現(xiàn)判斷。public void handleMessage( msg){ switch(){ case TIME_MESSAGE: break。 case INIT_MESSAGE: break。 } (msg)。 } 拼圖的實現(xiàn)在JigsawActivity中進行游戲時首先要解決的問題就是圖片的隨機分割問題。該問題的解決方案在JigsawView類中,JigsawActivity只是導入了該類。在該類中定義了相當多的變量,具體如下: private Bitmap[] oBitamp。//初始化切割后的圖片輸數(shù)組 private int row=2。//行 private int col=2。//列 private int cutBitmapWidht。//切割后每張位圖的寬 private int cutBitmapHeight。//切割后每張位圖的高 private float x,y。//當然觸發(fā)的X,Y坐標 private int offsetW,offsetH。//偏移量寬度\高度 private int maxRectW,maxRectH。//最大矩形寬,高 private PointF downPoint=new PointF()。//觸發(fā)的坐標點 private PointF currPoint=new PointF()。//當前坐標點 private int step=0。//步數(shù)private boolean isGameing=false。//是否游戲中該問題的解決涉及到隨機和分割兩個算法。關(guān)于隨機的問題,算法中使用了randomGenerated 方法,該方法隨機生成0n范圍內(nèi)不重復的數(shù)字,不包含n。在Math類中有定義的random方法,因此只需要調(diào)用以下。代碼如下: private void randomGenerated(int n){ VectorInteger vector=new VectorInteger()。 int[] num=new int[n]。 for(int i=0。in。i++){ int radom = (int)(()*n)。 radom = (int)(()*n)。 while((radom)){ radom = (int)(()*n)。 } (radom)。 num[i]=radom。 } for(int i=0。icol。i++){ for(int j=0。jrow。j++){ Picture picture=new Picture()。 =num[i*row+j]。 pictrueArray[j][i]=picture。 (pictrueArray[j][i].value)。 } } cutBitmap(mBitmap)。 }分割圖片是通過cutBitmap方法實現(xiàn)的,定義了cutBitmaoWidth,cutBitmapHeight變量表示分割后圖片的寬和高,并根據(jù)難度選擇的行數(shù)和列數(shù)初始化分割后的圖片數(shù)數(shù)組。具體代碼如下: private void cutBitmap(Bitmap srcBitamp){ cutBitmapWidht=()/row。 //分割后每張位圖的寬。 cutBitmapHeight=()/col。 //分割后每張位圖的高。 offsetW=cutBitmapWidht。 //偏移量寬度。 offsetH=cutBitmapHeight。 //偏移量高度。 oBitamp=new Bitmap[row*col]。 //初始化切割后的圖片數(shù)數(shù)組。 for(int i=0。icol。i++){ for(int j=0。jrow。j++){ oBitamp[i*row+j]=(srcBitamp, cutBitmapWidht*j, cutBitmapHeight*i, cutBitmapWidht, cutBitmapHeight)。 } } for(int i=0。icol。i++){ for(int j=0。jrow。j++){ if((i==(col1))amp。amp。(j==(row1))){ pictrueArray[j][i].bitamp=null。 }else{ pictrueArray[j][i].bitamp=oBitamp[pictrueArray[j][i].value]。 } } }用randomGenerated 方法解決了圖片隨機分割的問題之后,接著就是游戲的運行即交換圖片功能的實現(xiàn)。首先確保鼠標點擊并拖動圖片有效,然后實現(xiàn)圖片的交換。為確保鼠標點擊和拖動有效,定義onTouchEvent方法進行活動的判斷,該方法中定義了x,y兩個變量表示坐標,來顯示鼠標點擊的位置。 onTouchEvent方法中定義了如下兩個變量: x=()。 y=()。 通過如下語句實現(xiàn)判斷鼠標的活動:按下(),離開(),移動()。 if(!((x=maxRectW)amp。amp。(y=maxRectH))){ return false。 } switch(()){ case :{ } case :{ } case :{ } } return (event)。 }交換圖片的動作由swapPicture方法實現(xiàn),交換代碼簡單如下: int value。 value=。 =。 =value。 金陵科技學院學士學位論文 第5章 系統(tǒng)測試 5 系統(tǒng)測試 Android仿真器介紹仿真器是在計算機中運行的一個虛擬的移動裝置,用它來設(shè)計、調(diào)試應用。ADT是一個用于開發(fā)Android應用的eclipse插件,它方便了我們的開發(fā)。例如,它讓我們方便從eclipse內(nèi)部訪問DDMS工具(可用于截屏,管理portforwarding,設(shè)斷點,查看線程和進程信息)DDMS(Dalvik Debug Monitor Service)和Dalvik虛擬機集成,將在IDE和模擬器起到一個轉(zhuǎn)發(fā)服務。用它能管理仿填器或者設(shè)備的進程,并且輔助調(diào)試。你可用它殺死進程,選擇某一進程去DEBUG,產(chǎn)生TRACE數(shù)據(jù),查看堆和線程信息等等。Aapt(Andvoid Asset Packaging Tool),。Aidl(Andvoid Interface Description Language)用于產(chǎn)生代碼。Sqlite3用于訪問SQLite數(shù)據(jù)文件。Traceview用于查看LOG信息。ActivityCreator用于產(chǎn)生ant文件的腳本。當然,若用eclipse插件就不需要它了。 功能模塊測試在虛擬器上完成一次拼圖游戲,即可測試出本設(shè)計是否已經(jīng)完成。下面給出各個功能模塊的測試過程,若這些功能在模擬器上都能得到體現(xiàn),則說明本設(shè)計基本成功。1) 難度選擇模塊:在選擇界面點擊“等級”下拉框,選擇一個難度,按下“確定”按鈕后跳轉(zhuǎn)到游戲界面,在游戲界面的文本框“等級”下顯示出玩家選擇的難度。界面如下: 難度選擇模塊2) 圖片選擇模塊:在選擇界面點擊一張圖片,按下“確定”按鈕后跳轉(zhuǎn)到游戲界面,在游戲界面的圖片框中顯示玩家選擇的圖片。界面如下: 圖片選擇模塊3) 步數(shù)和時間設(shè)置模塊:在游戲界面,點擊“play”按鈕后,時間開始自加1秒,每移動一個圖塊,步數(shù)一欄加1 。界面如下: 步數(shù)和時間設(shè)置模塊4) 游戲?qū)崿F(xiàn)模塊:在游戲界面,點“play”按鈕后,鼠標點擊圖塊并拖動,能與空白圖塊交換位置。當圖片拼成原樣時,彈出窗口提示游戲結(jié)束。界面如下: 游戲?qū)崿F(xiàn)模塊 出現(xiàn)的錯誤及解決方案完成系統(tǒng)的過程中不可避免的出現(xiàn)了一些問題,通過自我學習和他人指導,最終解決了這些問題。: 錯誤及解決方案對照表系統(tǒng)出現(xiàn)的錯誤解決方案Activity之間的界面跳轉(zhuǎn)無法實現(xiàn)。各個控件之間的鏈接出錯。運行游戲時,系統(tǒng)報錯,無法正常游戲檢查SDK版本以及仿真器的配置。金陵科技學院學士學位論文 第6章 總結(jié)與展望6 總結(jié)與展望大學四年學習的編程思想和編程技巧,在最后的畢業(yè)設(shè)計當中得到了運用。經(jīng)過此次畢業(yè)設(shè)計,充分認識到了自己編程能力方面的缺陷,感覺到自己的基礎(chǔ)比較薄弱。但在這段時間里,我不斷地發(fā)現(xiàn)自己的問題,并且找出問題產(chǎn)生的原因,根據(jù)相關(guān)的方法解決問題。幾個月的努力沒有白費,終于基本上完成拼圖游戲的功能,雖然還有不少不足,我將不斷的完善它。做一個完整的系統(tǒng)之前,必須先對該系統(tǒng)進行需求分析,擬好系統(tǒng)需要達到的功能和系統(tǒng)的所有需求,并且畫出系統(tǒng)的大體設(shè)計流程圖和框架。做完這些準備工作,做系統(tǒng)的時候才會得心應手。想到那里就做到那里,不僅效率不高,還會影響到系統(tǒng)的可用性。完成系統(tǒng)之后才發(fā)現(xiàn),對于軟件設(shè)計,要想做到得心應手,必須多多練習。只有寫夠足夠多的代碼,才能真正理解軟件設(shè)計的思想及運用。當然要做到這一步,要付出相當多的努力,在沒有做到之前,遇到不懂的地方就要多參考資料,請教別人。金陵科技學院學士學位論文 參考文獻
點擊復制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1