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

正文內(nèi)容

基于android貪吃蛇游戲本科畢業(yè)設(shè)計(jì)論文-閱讀頁(yè)

2025-07-07 04:39本頁(yè)面
  

【正文】 eView類(lèi)的設(shè)計(jì)TileView是游戲的界限,即蛇頭若觸碰到界限則游戲結(jié)束。View會(huì)繪制一個(gè)包含Drawing是event事件的方形塊。實(shí)現(xiàn)一個(gè)View,首先需要實(shí)現(xiàn)框架中一些所有Views公用的方法。 SnakeView類(lèi)的設(shè)計(jì)SnakeView是本游戲的業(yè)務(wù)邏輯類(lèi),該類(lèi)中包含了游戲數(shù)據(jù)和一些處理數(shù)據(jù)的方法以及一些內(nèi)部類(lèi)。1. 判斷按鍵的方法在Android手機(jī)上,每個(gè)按鍵都會(huì)有一個(gè)唯一的鍵值與它對(duì)應(yīng),可以通過(guò)獲得鍵值來(lái)判斷哪個(gè)鍵被按下了并采取相應(yīng)的動(dòng)作。3. 在隨機(jī)位置出現(xiàn)食物的方法通過(guò)隨機(jī)數(shù)在屏幕范圍內(nèi)隨機(jī)出現(xiàn)一個(gè)食物,但是不允許同一時(shí)刻有兩個(gè)食物存在。5. 判斷蛇是否吃到食物的方法因?yàn)槭澄锖蜕叨紩?huì)有一個(gè)坐標(biāo),所以可以通過(guò)判斷蛇頭坐標(biāo)是否跟食物坐標(biāo)相等的方法來(lái)判斷蛇是否吃到了食物。初始化進(jìn)入事件等待狀態(tài)初始化失敗不正常退出開(kāi)始請(qǐng)求相關(guān)事件返回暫停請(qǐng)求退出正常退出圖15貪吃蛇程序主結(jié)構(gòu) 程序類(lèi)圖該程序由以下五個(gè)類(lèi)實(shí)現(xiàn),分別為T(mén)ileView,Snake,SnakeView。SnakemSnakeView: SnakeViewICICLE_KEY: String+onCreate()+onPause()+onSaveInstanceState()SnakeView+SnakeView(context: Context, attrs: AttributeSet)+initSnakeView()+initNewGame()+onKeyDown(keyCode: int, msg: KeyEvent): boolean+addRandomApple()+update()+updateSnake()+updateWalls()+updateApples()+coordArrayListToArray(cvec: ArrayListCoordinate): int[]+restoreState(icicl: Bundlee)+setTextView(newView: TextView)TileViewmTileSize: intmXTileCount: intmYTileCount: intmXOffset: intmTileArray: BitmapmYOffset: int+TileView()+onSizeChanged(w: int, h: int, oldw: int, oldh: int)+loadTile(key: int, tile: Drawable)+clearTiles()+onDraw(canvas: Canvas)圖16程序類(lèi)圖 類(lèi)的詳細(xì)設(shè)計(jì) Snake類(lèi)的詳細(xì)設(shè)計(jì)Snake類(lèi)是蛇頭以及蛇頭的控制部分,包括判斷newDirection和oldDirection是否為相反方向,用于選取有效方向。實(shí)現(xiàn)蛇身沿著蛇頭的軌跡移動(dòng)。以及讓蛇不停走動(dòng)。 // No Title bar requestWindowFeature()。 mSnakeView = (SnakeView) findViewById()。 play = (Button)findViewById()。 (this)。 left = (ImageButton)findViewById()。 (this)。 ()。 (RIGHT)。 ((1, 1, 255, 1))。 up = (ImageButton)findViewById()。 (this)。 ()。 (DOWN)。 ((1, 1, 255, 1))。 if (savedInstanceState == null) { // We were just launched set up a new game ()。 if (map != null) { (map)。 } } handler = new Handler() { public void handleMessage(Message msg) { switch () { case : ()。 ()。 ()。 } (msg)。因?yàn)榻缦抟残枰滑F(xiàn)實(shí)到屏幕上。View是所有與用戶(hù)交互的組件的Widgets的基類(lèi)(Buttons,textField等),View的子類(lèi)ViewGroup是layouts類(lèi)的基類(lèi),layouts類(lèi)可以包含其他的View/ViewGroup組件并且定義展示的屬性。不必重寫(xiě)所有所有的方法,可以?xún)H僅重寫(xiě)。 mYTileCount = (int) (h / mTileSize)。 mYOffset = ((h (mTileSize * mYTileCount)) / 2)。 clearTiles()。 Canvas canvas = new Canvas(bitmap)。 (canvas)。 } public void clearTiles() { for (int x = 0。 x++) { for (int y = 0。 y++) { setTile(0, x, y)。 } public void onDraw(Canvas canvas) { (canvas)。 x mXTileCount。 y mYTileCount。 } } } }} SnakeView類(lèi)的詳細(xì)設(shè)計(jì)SnakeView是本游戲的業(yè)務(wù)邏輯類(lèi),該類(lèi)中包含了游戲數(shù)據(jù)和一些處理數(shù)據(jù)的方法以及一些內(nèi)部類(lèi)。1. 判斷按鍵的方法在Android手機(jī)上,每個(gè)按鍵都會(huì)有一個(gè)唯一的鍵值與它對(duì)應(yīng),可以通過(guò)獲得鍵值來(lái)判斷哪個(gè)鍵被按下了并采取相應(yīng)的動(dòng)作。3. 在隨機(jī)位置出現(xiàn)食物的方法通過(guò)隨機(jī)數(shù)在屏幕范圍內(nèi)隨機(jī)出現(xiàn)一個(gè)食物,但是不允許同一時(shí)刻有兩個(gè)食物存在。5. 判斷蛇是否吃到食物的方法因?yàn)槭澄锖蜕叨紩?huì)有一個(gè)坐標(biāo),所以可以通過(guò)判斷蛇頭坐標(biāo)是否跟食物坐標(biāo)相等的方法來(lái)判斷蛇是否吃到了食物。 class RefreshHandler extends Handler { Override public void handleMessage(Message msg) { ()。 } public void sleep(long delayMillis) { (0)。 }}。 initSnakeView()。 initSnakeView()。 Resources r = ().getResources()。 loadTile(RED_STAR, ())。 loadTile(GREEN_STAR, ())。 (new Coordinate(6, 7))。 (new Coordinate(4, 7))。 (new Coordinate(2, 7))。 // Two apples to start with addRandomApple()。 mMoveDelay = 600。 } private int[] coordArrayListToArray(ArrayListCoordinate cvec) { int count = ()。 for (int index = 0。 index++) { Coordinate c = (index)。 rawArray[2 * index + 1] = 。 } public Bundle saveState() { Bundle map = new Bundle()。 (mDirection, (mDirection))。 (mMoveDelay, (mMoveDelay))。 (mSnakeTrail, coordArrayListToArray(mSnakeTrail))。 }第2章 系統(tǒng)測(cè)試與結(jié)果分析 軟件測(cè)試經(jīng)過(guò)需求分析、設(shè)計(jì)和編碼等階段的開(kāi)發(fā)后,得到了源程序,開(kāi)始進(jìn)入到軟件測(cè)試階段。目前,程序的正確性證明尚未得到根本的解決,因此軟件測(cè)試仍是發(fā)現(xiàn)軟件中錯(cuò)誤和缺陷的主要手段。軟件測(cè)試是軟件投入運(yùn)行前,對(duì)軟件需求分析、設(shè)計(jì)、實(shí)現(xiàn)的強(qiáng)有力的最終審查。2. 軟件測(cè)試的目的測(cè)試的目的就是希望能以最少的人力和時(shí)間發(fā)現(xiàn)潛在的各種錯(cuò)誤和缺陷。信息系統(tǒng)測(cè)試應(yīng)包括軟件測(cè)試、硬件測(cè)試和網(wǎng)絡(luò)測(cè)試。3. 測(cè)試方案任何產(chǎn)品的測(cè)試都有2種方法:黑盒測(cè)試和白盒測(cè)試。也就是說(shuō),黑盒測(cè)試是在程序接口進(jìn)行的測(cè)試,它只檢查程序功能是否能按照規(guī)格說(shuō)明書(shū)的規(guī)訂正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)據(jù)產(chǎn)生地輸出信息,并且保持外部信息(如,數(shù)據(jù)庫(kù)或文件)的完整性。這種方法按照程序內(nèi)部的邏輯測(cè)試程序,檢驗(yàn)程序中的每條通路是否都能按預(yù)訂要求正確工作。因此我采用的是黑盒測(cè)試。(1)單元測(cè)試(unit testing)。(2)組裝測(cè)試(integration testing)。用以發(fā)現(xiàn)與接口相聯(lián)系的問(wèn)題。組裝測(cè)試技術(shù)有自頂向下結(jié)合和自底向上結(jié)合兩種測(cè)試方法。是對(duì)整個(gè)軟件進(jìn)行驗(yàn)收,根據(jù)系統(tǒng)分析說(shuō)明書(shū)來(lái)考察軟件是否滿(mǎn)足要求。是將軟件、硬件、網(wǎng)絡(luò)等系統(tǒng)的各個(gè)部分連接起來(lái),對(duì)整個(gè)系統(tǒng)進(jìn)行總的功能、性能等方面的測(cè)試。詳見(jiàn)附圖1。2. 移動(dòng)蛇頭測(cè)試(1)分別按方向鍵上、下、左、右,蛇頭按所指示方向移動(dòng)。3. 貪吃蛇吃豆測(cè)試(1)貪吃蛇吃豆后,豆會(huì)消失,無(wú)異常。4. 碰壁測(cè)試(1)移動(dòng)貪吃蛇,分別向上、下、左、右四個(gè)方向移動(dòng),直至撞到墻壁位置。(2)移動(dòng)貪吃蛇,到一定長(zhǎng)度后,撞擊到自己。5. 結(jié)束分?jǐn)?shù)顯示 游戲結(jié)束后,屏幕會(huì)顯示該玩家的成績(jī),例如:吃了10個(gè)豆豆。6. 結(jié)束后重新開(kāi)始功能測(cè)試當(dāng)前游戲結(jié)束后,如要重新開(kāi)始新的游戲,按上方向鍵2次,游戲會(huì)重新開(kāi)始。8. 恢復(fù)測(cè)試 暫停后,按恢復(fù)鍵,會(huì)繼續(xù)游戲。按“是”退出游戲,按“否”繼續(xù)游戲。(2)貪吃蛇吃豆豆50次把屏幕占滿(mǎn),游戲不會(huì)報(bào)任何BUG。在遇到問(wèn)題時(shí)要學(xué)會(huì)如何去分析錯(cuò)誤,再要學(xué)會(huì)如何去解決問(wèn)題。因此在遇到困難時(shí),不要輕言放棄,要努力向前解決問(wèn)題。寫(xiě)畢業(yè)論文不是一件容易的事情,需要不斷的進(jìn)行精心的修改,不斷的研究各方面的文獻(xiàn)。后來(lái),在與導(dǎo)師交流討論中我的題目定了下來(lái),我便立刻在學(xué)校的圖書(shū)館和網(wǎng)上找了一些著手資料的收集工作中,當(dāng)時(shí)面對(duì)眾多網(wǎng)絡(luò)資料庫(kù)的文章真的有些不知所措,不知如何下手。在老師細(xì)心的指導(dǎo)下,終于使我了解了應(yīng)該怎么樣利用學(xué)校圖書(shū)館的資料找到自己需要的Android方面的資料。寫(xiě)畢業(yè)論文是我們每個(gè)大學(xué)生必須經(jīng)歷的一段過(guò)程,也是我們畢業(yè)前的一段寶貴的回憶。這是一個(gè)毅力的磨練,是對(duì)我實(shí)際能力的一個(gè)提升,相信對(duì)我未來(lái)的學(xué)習(xí)和工作都有很大的幫助。致 謝在此論文撰寫(xiě)過(guò)程中,要特別感謝我的導(dǎo)師王雙立的指導(dǎo)與督促,同時(shí)感謝他的諒解與包容。求學(xué)歷程是艱苦的,但又是快樂(lè)的。在這四年的學(xué)期中結(jié)識(shí)的各位生活和學(xué)習(xí)上的摯友讓我得到了人生最大的一筆財(cái)富。Ongtang,M.,McDaniel, Android Security[J]. Security amp。(1)安裝環(huán)境說(shuō)明操作系統(tǒng) WindowsXP/Windows 2000,內(nèi)存128M以上。(2)更改設(shè)置說(shuō)明tomcat服務(wù)器,直接使用Eclipse在服務(wù)器上使用。2)回到My Eclipse主界面選擇ProjectDeployments選擇add()確定就可以直接運(yùn)行程序。 public int y。 y = newY。amp。 } return false。 } } Override public void onDraw(Canvas canvas) { (canvas)。 x mXTileCount。 y mYTileCount。 } } } }(2) 處理鍵盤(pán)事件 Override public boolean onKeyDow
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1