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

正文內(nèi)容

基于android平臺(tái)的2048手機(jī)游戲開(kāi)發(fā)設(shè)計(jì)與實(shí)現(xiàn)-文庫(kù)吧資料

2025-06-13 15:18本頁(yè)面
  

【正文】 x=2。 switch(direction){ case RIGHT: for(int y=0。 } 電子科技大學(xué)中山學(xué)院畢業(yè)設(shè)計(jì)(論文) 附錄 30 } /** * 該方法為不同的滑動(dòng)方向,執(zhí)行不同的遍歷順序 * param direction 滑動(dòng)方向 */ public void move(int direction){ moved = false。 else{ if((nextIdx)) return getLast(nextIdx, direction)。 } } } } } /** * 用于獲取移動(dòng)方向上最后一個(gè)空白格之后的位置 * param index 當(dāng)前格子的坐標(biāo) * param direction 移動(dòng)方向 * return */ public int getLast(int thisIdx, int direction){ int nextIdx = getNext(thisIdx, direction)。 }else{ int before = getBefore(nextIdx, direction)。 }else if((nextIdx)){ //存在可以置換的空白格 電子科技大學(xué)中山學(xué)院畢業(yè)設(shè)計(jì)(論文) 附錄 29 replace(thisIdx,nextIdx)。 } } /** * 該方法,為每個(gè)符合條件的格子執(zhí)行變動(dòng)的操作,如置換,升級(jí)等 * param thisIdx 當(dāng)前格子的坐標(biāo) * param direction 滑動(dòng)方向 */ public void Change(int thisIdx,int direction){ if((thisIdx)){ int nextIdx = getLast(thisIdx, direction)。 (nextIdx)。 //在數(shù)字列中刪掉第一個(gè)格子 (thisIdx)。 (icons[(nextIdx)電子科技大學(xué)中山學(xué)院畢業(yè)設(shè)計(jì)(論文) 附錄 28 +1])。 //獲取目標(biāo)格的 view,并將其背景置成當(dāng)前格升級(jí)后的背景 View nextView = (nextIdx)。 ImageView image = (ImageView) ()。 } /** * 剛方法用于合并在移動(dòng)方向上兩個(gè)相同的格子 * param thisIdx 當(dāng)前格子的坐標(biāo) * param nextIdx 目標(biāo)格子的坐標(biāo) */ public void levelup(int thisIdx, int nextIdx){ //一次移動(dòng)中,每個(gè)格子最多只能升級(jí)一次 if(!(nextIdx)){ moved = true。 (thisIdx)。 電子科技大學(xué)中山學(xué)院畢業(yè)設(shè)計(jì)(論文) 附錄 27 (icons[(thisIdx)])。 //獲取空白格的 view,并將 其背景置成當(dāng)前格的背景 View nextView = (nextIdx)。 ImageView image = (ImageView) ()。 } /** * 該方法用來(lái)交換當(dāng)前格與目標(biāo)空白格的位置 * param thisIdx 當(dāng)前格子的坐標(biāo) * param nextIdx 目標(biāo)空白格的坐標(biāo) */ public void replace(int thisIdx, int nextIdx){ moved = true。 direction==DOWN) return 1。 if(y==0 amp。amp。 direction==LEFT) return 1。 if(x==3 amp。amp。 int x = index%4。 return index+direction。amp。 direction==UP) return 1。 if(y==0 amp。amp。 direction==RIGHT) return 1。 if(x==3 amp。 電子科技大學(xué)中山學(xué)院畢業(yè)設(shè)計(jì)(論文) 參考文獻(xiàn) 24 參考文獻(xiàn) [1] 鄭莉,王行言,馬素霞 . Java 語(yǔ)言程序設(shè)計(jì) [M].北京 :清華大學(xué)出版社, 2021,228~ 238. [2] 吳亞峰,于復(fù)興,杜化美 . Android 開(kāi)發(fā)游戲大全 [M].北京 :人民郵電出版社,2021, 14~21. [3] 王小科,寇長(zhǎng)梅,于復(fù)興等 . Android 入門經(jīng)典 [M].北京:機(jī)械工業(yè)出版社, 2021,130~134. [4] 楚無(wú)咎 . Android 開(kāi)發(fā)游戲大全 [M].北京:電子工業(yè)出版社, 2021, 23~25, 82!~84, 160~163. [5] Ian . Android 開(kāi)發(fā)游戲大全 [M].北京:機(jī)械工業(yè)出版社, 2021, 290~297,333~334. [6] 一輝 . Android 布 局 詳 解 之 一 : FrameLayout. 20210819 /20211225. [7] 益智 小 游戲 . 2048 網(wǎng) 頁(yè)游 戲 . ,20210826 /20211220. [8] flyfish. 手機(jī)游戲 . NgjiWTTYiAknTJiXXq9Tw6irNMXjKDvStwU3Uwdw6vbiVoZ4Sn2yjbYZohJcfaJAcaJlRn045_x7I8Trhh4HWa , 20210320 /20211221. [9] springhi2021. Android 中的 Handler 總結(jié) . , 20210726 /20211225. [10] zyq0335. activity 之間的數(shù)據(jù)傳遞 方法 . article/details/ s7636724, 20210606 /20211225. 電子科技大學(xué)中山學(xué)院畢業(yè)設(shè)計(jì)(論文) 附錄 25 附錄 游戲?qū)崿F(xiàn)代碼 /** * 用于獲取移動(dòng)方向上下一個(gè)格子的位置 * param index 當(dāng)前格子的位置 * param direction 滑動(dòng)方向 * return 如果在邊界在返回 1 */ public int getNext(int index,int direction){ int y = index/4。 最終因?yàn)楸救四芰τ邢蓿瑫r(shí)間倉(cāng)促,該游戲只是實(shí)現(xiàn)了基本功能,具體的美化、優(yōu)化等等還沒(méi)來(lái)得及做,雖然只做了這么一小部分,但是我還是學(xué)到了很多平時(shí)沒(méi)有掌握到的知識(shí),雖然不太完美,但是總體來(lái)看我還是比較滿意,相信只要有實(shí)踐就會(huì)有收獲,只要肯努力就會(huì)有回報(bào)。電子科技大學(xué)中山學(xué)院畢業(yè)設(shè)計(jì)(論文) 第 6 章 心得體會(huì) 23 第 6 章 心得體會(huì) 經(jīng)過(guò)了幾個(gè) 月 的研究終于把 2048 這個(gè)游戲完成了,這個(gè)游戲的完成使我明白了,看似很簡(jiǎn)單的事情要真的動(dòng)手實(shí)踐起來(lái)確實(shí)有一定的難度,還好經(jīng)過(guò)我不斷的耐心學(xué)習(xí)和鉆研,才把這個(gè)游戲的基本功能實(shí)現(xiàn)了,最 后 只實(shí)現(xiàn)了 記錄歷史最好成績(jī) 的功能,暫時(shí)沒(méi)有實(shí)現(xiàn) 排行榜 這點(diǎn)稍微遺憾,以后有機(jī)會(huì)我會(huì)去實(shí)現(xiàn)的! 俗話說(shuō),不積跬步無(wú)以至千里,不積小流無(wú)以成江海,程序中的很多方法我都是在 書中和網(wǎng)上找了又找,試了又試,一遍又一遍,最終才把需要的方法融入到程序當(dāng)中,實(shí)現(xiàn)了必要的功能模塊。 ( 6) 點(diǎn)擊“ 重置 ” ? 初始化界面,如圖所示: 電子科技大學(xué)中山學(xué)院畢業(yè)設(shè)計(jì)(論文) 第 5 章 游戲測(cè)試 22 圖 重置功能 結(jié)果:正常 。 ( 4) 向右滑動(dòng),如圖所示: 電子科技大學(xué)中山學(xué)院畢業(yè)設(shè)計(jì)(論文) 第 5 章 游戲測(cè)試 21 圖 向右滑動(dòng) 結(jié)果:正常 。 ( 2) 向左滑動(dòng),如圖所示: 電子科技大學(xué)中山學(xué)院畢業(yè)設(shè)計(jì)(論文) 第 5 章 游戲測(cè)試 20 圖 向左滑動(dòng) 結(jié)果:正常 。 測(cè)試 內(nèi)容 為了更好的測(cè)試游戲的可用性現(xiàn)用安卓模擬器進(jìn)行測(cè)試,首先打開(kāi) Eclipse 軟件,通過(guò) import 將源代碼導(dǎo)入工作區(qū),然后點(diǎn)擊工具欄的開(kāi)始按鈕打開(kāi)模擬器進(jìn)行運(yùn)行,當(dāng)游戲進(jìn)入游戲主界面時(shí)按照以下步驟進(jìn)行測(cè)試。測(cè)試初級(jí)階段主要由游戲主要編程員進(jìn)行測(cè)試,以便能 夠全面的進(jìn)行一次錯(cuò)誤排查。對(duì)游戲進(jìn)行最后的修改確認(rèn)沒(méi)有漏洞后再進(jìn)行測(cè) 試,從各個(gè)方面進(jìn)行一次整體的排查,知道不再出現(xiàn)意料之外的情況。測(cè)試完后對(duì)所記錄的意外情況進(jìn)行分析,然后提出改進(jìn)的方案,再進(jìn)行修改。 ( 2) 初步測(cè)試。如圖所示: 電子科技大學(xué)中山學(xué)院畢業(yè)設(shè)計(jì)(論文) 第 4 章 游戲設(shè)計(jì) 17 圖 游戲結(jié)束 電子科技大學(xué)中山學(xué)院畢業(yè)設(shè)計(jì)(論文) 第 5 章 游戲測(cè)試 18 第 5 章 游戲 測(cè)試 測(cè)試過(guò)程 ( 1) 擬定測(cè)試計(jì)劃。 游戲 結(jié)束 當(dāng)游戲界面上的數(shù)字被填滿,并且沒(méi)有兩個(gè)相鄰的相同數(shù)字時(shí),游戲結(jié)束,此時(shí)會(huì)彈出一個(gè)提示框,顯示用戶本局所獲得得分?jǐn)?shù)并鼓勵(lì),點(diǎn)擊重新開(kāi)始則初始化游戲,玩家可以開(kāi)始下一局。 調(diào)取方法,重繪界面 。 將當(dāng)前的界面記錄在棧中彈出 。 8) 撤 銷功能 撤銷操作,獲取操作記錄棧中最后的記錄,并重繪界面 。 如下圖所示: 圖 游戲 計(jì) 分 電子科技大學(xué)中山學(xué)院畢業(yè)設(shè)計(jì)(論文) 第 4 章 游戲設(shè)計(jì) 16 圖 游戲計(jì)分 游戲最高分顯示在右上角, 歷史最高分會(huì)記錄在本地 。 游戲最開(kāi)始的時(shí)候會(huì)添加兩個(gè) 隨機(jī)數(shù) , 并且每執(zhí)行一次有效移動(dòng)時(shí) , 在空白格處隨機(jī)添加一個(gè)隨機(jī)數(shù) 。 6) 添加 隨機(jī)數(shù) 在空白格中隨機(jī)加入數(shù)字 2 或者 4,首先 獲取坐標(biāo)對(duì)應(yīng)的 View,通過(guò)隨機(jī)生成數(shù)字 1 或 2, (int) (()+1)。 再定義一個(gè) ListInteger numberList 用于保存所有不為空的格子對(duì)應(yīng)的數(shù)字(以 2 為底數(shù)的指數(shù)) 。 效果如下圖所示 : 電子科技大學(xué)中山學(xué)院畢業(yè)設(shè)計(jì)(論文) 第 4 章 游戲設(shè)計(jì) 14 圖 數(shù)字合 并前 圖 數(shù)字合并后 5) 數(shù)字列表類 數(shù)字列表類 用于保存數(shù)字格,以及數(shù)字格對(duì)應(yīng)的數(shù)字。 獲取目標(biāo)格的 view,并將其背景置成當(dāng)前格升級(jí)后的背景 。再調(diào)用置換方法實(shí)現(xiàn)。 4) 數(shù)字合并 滑動(dòng)方向不同時(shí) , 執(zhí)行不同的遍歷順序 。 2. 由于人的手指只有滑動(dòng)一段距離才能表明用戶的意圖,不可能點(diǎn)一下屏幕或者稍微動(dòng)一下就表示滑動(dòng)意圖,這顯然不太符合現(xiàn)實(shí)情況,所以要定義偏移一定的距離才能判斷用戶的真正意圖。通過(guò)判斷水平和垂直方向偏移量即可知道用戶所要移動(dòng)的方向。 調(diào)用電子科技大學(xué)中山學(xué)院畢業(yè)設(shè)計(jì)(論文) 第 4 章 游戲設(shè)計(jì) 13 OnTouchListener 監(jiān)聽(tīng)器 , 重寫 OnTouch 方法 。 3) 觸控交互 本模塊主要實(shí)現(xiàn)用戶 使用 手指滑動(dòng)屏幕, 來(lái)判斷 其 滑動(dòng)的方向 。當(dāng)方格內(nèi)無(wú)數(shù)字時(shí),將其保存到空白格列表spaceList 中。 2) 數(shù)據(jù) 結(jié)構(gòu) [0~15]對(duì)應(yīng) 游戲中 4*4 的 16 個(gè)方格。表格布局用來(lái)顯示 4 乘 4 的方格。 如下圖 所示: 電子科技大學(xué)中山學(xué)院畢業(yè)設(shè)計(jì)(論文) 第 4 章 游戲設(shè)計(jì) 12 圖 游戲主界面 游戲 邏輯實(shí)現(xiàn) 1) 游戲 布局 本游戲的設(shè)計(jì)用到了線性布局、相對(duì)布局、表格布局等等。 游戲結(jié)束分 析 當(dāng)屏幕上數(shù)字沒(méi)有得到 2048 這個(gè)值,沒(méi)有兩個(gè)相同的格子的數(shù)字相同,并且已經(jīng)沒(méi)有空格,那么就判定為游戲結(jié)束。 圖 計(jì)分顯示 圖 游戲內(nèi)容 圖 游戲菜單 游戲 流程分析 要想把一個(gè)游戲做好,首先要把流程分析好,畫出流程圖,如圖 所示:電子科技大學(xué)中山學(xué)院畢業(yè)設(shè)計(jì)(論文) 第 4 章 游戲設(shè)計(jì) 11 圖 游戲流程 游戲記分分析 當(dāng)有數(shù)字合并時(shí),記錄此時(shí)合并的的數(shù)字,加到相應(yīng)的分?jǐn)?shù)中。 總體設(shè)計(jì) 游戲框架分析 對(duì)一個(gè)游戲而言,需要將各個(gè)部位分割成其對(duì)應(yīng)部分的功能,并且逐步去實(shí)現(xiàn)該功能。 根據(jù)以上幾個(gè)方 面的研究,在技術(shù)上、經(jīng)濟(jì)上和操作上都是可行的,本項(xiàng)目可進(jìn)行開(kāi)發(fā) 。 經(jīng)濟(jì) 可行性 由于“ 2048”游戲作為畢業(yè)設(shè)計(jì)進(jìn)行開(kāi)發(fā),由 本人親自開(kāi)發(fā), 而且開(kāi)發(fā) android程序不需要購(gòu)買昂貴的設(shè)備,所以成本不會(huì)太高,綜上所述
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1