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

正文內(nèi)容

基于java環(huán)境下的連連看游戲研究畢業(yè)論文(編輯修改稿)

2025-07-19 07:31 本頁面
 

【文章內(nèi)容簡介】 接受當(dāng)前時(shí)間開始游戲時(shí)間是否為零提醒用戶時(shí)間到結(jié)束NY圖44 計(jì)算時(shí)間流程圖 time flowchart使用炸彈接收使用命令是否還有炸彈消除相同兩張可相連圖片提示用戶無炸彈結(jié)束NY圖45 使用炸彈流程圖 Use a bomb flow chart 系統(tǒng)具體功能的設(shè)計(jì) 游戲的菜單界面設(shè)計(jì)游戲菜單共分兩欄:第一欄中又分五個(gè)菜單項(xiàng):開始游戲;重玩一次;炸彈;重排列;退出第二菜單欄Difficulty難度共分三種難度:低;中;高。每種難度時(shí)間長短不同。圖46 連連看游戲的菜單結(jié)構(gòu) Link game menu struction連連看菜單界面FileDifficultStart gameOnce again BombResetExitEasyMiddleHigh實(shí)際游戲菜單如下:圖47 連連看游戲菜單界面圖 Link game interface of the menu bar圖48 連連看游戲“文件”菜單欄界面圖 Link game interface of the “file” menu bar圖49 連連看游戲“難度”菜單欄界面圖 Link game interface of the “Difficulty” menu bar 連連看游戲的游戲界面設(shè)計(jì)連連看游戲界面包括兩部分,上半部分為,倒計(jì)時(shí)時(shí)間顯示區(qū),下半部分為游戲區(qū)域圖410 連連看的游戲界面 Link game interface游戲界面的功能主要包括時(shí)間控制,布局控制,連通控制,繪制屏幕圖411 連連看游戲界面的結(jié)構(gòu)組成 Link game interface function連連看游戲界面倒計(jì)時(shí)顯示游戲區(qū)域游戲難度炸彈次數(shù)布局算法連通算法繪制屏幕時(shí)間控制 連連看游戲的布局算法游戲界面中共分割成100塊,其中64塊用于游戲顯示,最外圍一圈隱藏。算法中定義大小為64的一維數(shù)組,每四個(gè)分為一組,按從1~16的順序存入數(shù)組中。調(diào)用nextInt(i),生成一隨機(jī)數(shù),數(shù)組任意位置的值交換,使數(shù)組中數(shù)字排列順序打亂。將一位數(shù)組的值按一定規(guī)律存入二維數(shù)組中,二維數(shù)組對(duì)應(yīng)游戲界面64塊。即完成了游戲界面的布局。 腳本 連連看游戲的連通算法連連看游戲中的聯(lián)通規(guī)律是選擇一對(duì)相同的圖案進(jìn)行連線,此連線在避開其他圖案后,呈現(xiàn)的路徑不超過兩次轉(zhuǎn)彎。對(duì)練練看的連通規(guī)則進(jìn)行分析,發(fā)現(xiàn)路徑搜索范圍可以由整個(gè)游戲區(qū)域縮小到選中的兩個(gè)圖案所在的帶狀區(qū)域內(nèi),需要選擇的帶狀區(qū)域又根據(jù)選中圖案的相對(duì)位置,分為縱向帶狀區(qū)域,橫向帶狀區(qū)域,雙向帶狀區(qū)域三種情況,、綠色的方塊表示不同的圖案,黑色的直線表示連通路徑,同心圈表示連通的結(jié)點(diǎn)橫向帶狀區(qū)域縱向帶狀區(qū)域圖412 連通算法帶狀區(qū)域分析圖 Zoster regional connectivity analysis of algorithms雙向帶狀區(qū)域 針對(duì)以上三種搜索區(qū)域,連通算法分成了三個(gè)函數(shù)來實(shí)現(xiàn)。其中兩個(gè)函數(shù)分別進(jìn)行橫向帶狀區(qū)域、縱向帶狀區(qū)域的連通判斷,第三個(gè)函數(shù)進(jìn)行雙向帶狀區(qū)域的連通判斷,調(diào)用前面兩個(gè)函數(shù)實(shí)現(xiàn),這樣進(jìn)一步減小了代碼量,并且提高了程序的可讀性。如下圖所示:連通算法縱向帶狀區(qū)域連通判斷函數(shù)雙向帶狀區(qū)域連通判斷函數(shù)橫向帶狀區(qū)域連通判斷函數(shù)圖413 連通算法函數(shù)調(diào)用圖 Call Graph fuction connectivity algorithm。連連看游戲的圖案抽象成整形數(shù)存儲(chǔ)在二維矩陣Map[i][j]中,不同的整數(shù)表示不同的圖案,整形數(shù)0表示該位置沒有圖案,用戶選中的兩個(gè)圖案位置信息分別存儲(chǔ)在變量priviousPoint和currPoint中,連通算法的流程圖如下所示:圖414 連通算法程序流程圖 Connectivitly agorithms program flowchartNYNYYNY連通算法選擇第一個(gè)圖案選擇第二個(gè)圖案是否同一種圖案是否連通顯示連通路徑去掉選中圖案爆炸效果結(jié)束橫向帶狀區(qū)域連通判斷函數(shù)雙向帶狀區(qū)域連通判斷函數(shù)縱向帶狀區(qū)域連通判斷函數(shù)圖案是否在一條直線上N是否橫向帶狀區(qū)域 連通時(shí)轉(zhuǎn)折點(diǎn)數(shù)量的不同,連通狀態(tài)分為三種情況:直線連通:兩個(gè)圖案的坐標(biāo)值(x,y)中,必有一個(gè)值是相等的,連通狀態(tài)沒有結(jié)點(diǎn)。有1個(gè)轉(zhuǎn)折點(diǎn)的連通:兩個(gè)圖案的坐標(biāo)值(x,y),必然都不相等,連通結(jié)點(diǎn)坐標(biāo)(x,y),分別與兩個(gè)圖像塊坐標(biāo)值中的對(duì)應(yīng)分量相等。有2個(gè)轉(zhuǎn)折點(diǎn)的連通:連通的兩個(gè)轉(zhuǎn)折點(diǎn)坐標(biāo)(x,y),必有一個(gè)值是相等的,且另一個(gè)值分別與兩個(gè)圖案坐標(biāo)值中的一個(gè)值相等。如下圖所示,其中紅色、綠色的方塊表示不同的圖案,黑色的直線表示連通的路徑,同心圓表示連通的轉(zhuǎn)折點(diǎn)。直線連通一個(gè)轉(zhuǎn)折點(diǎn)兩個(gè)轉(zhuǎn)折點(diǎn)圖415 連通狀態(tài)圖 Connected state diagram 。5 編碼 概述開發(fā)工具及編程腳本 概述開發(fā)工具開發(fā)工具的選擇本系統(tǒng)所用的開發(fā)工具是Eclipse。Eclipse 是一個(gè)開放源代碼的軟件開發(fā)項(xiàng)目,專注于為高度集成的工具開發(fā)提供一個(gè)全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺(tái)。它由Eclipse項(xiàng)目、Eclipse工具項(xiàng)目和Eclipse技術(shù)項(xiàng)目三個(gè)項(xiàng)目組成,每一個(gè)項(xiàng)目由一個(gè)項(xiàng)目管理委員會(huì)監(jiān)督,并由它的項(xiàng)目章程管理。(1)開發(fā)平臺(tái)Eclipse+(2)開發(fā)工具 文檔創(chuàng)作采用Office系列軟件 編程腳本在選擇開發(fā)語言問題上,我選擇了java作為系統(tǒng)的開發(fā)語言,Eclipse開發(fā)工具強(qiáng)有力的開發(fā)能力給我的程序設(shè)計(jì)帶來了很多方便,以前的課程設(shè)計(jì)的過程中,我積累了很多關(guān)于java編程的技巧,在這次畢業(yè)設(shè)計(jì)過程中,讓我對(duì)java進(jìn)行了更深入的研究,更加明確了java采用真正的面向?qū)ο蟮募夹g(shù),它將所有的事件、控制、函數(shù)和程序都以對(duì)象為單位封裝起來,具有“封裝”“多態(tài)”“繼承”的屬性。而Eclipse為開發(fā)人員提供了各種工具和一個(gè)集成的開發(fā)環(huán)境,創(chuàng)造了應(yīng)用開發(fā)時(shí)所需的各種部件,應(yīng)用的各種成分,包括窗口、菜單、程序、數(shù)據(jù)庫存取、數(shù)據(jù)庫管理、圖形、報(bào)表、調(diào)試、編譯等工作全都能在Eclipse的集成開發(fā)環(huán)境中完成。Eclipse是面向?qū)ο蟮木幊坦ぞ撸鄬?duì)于第四代面向過程編程語言,可讓程序員將更多的精力放到功能的實(shí)現(xiàn)而不是界面的實(shí)現(xiàn)上來。這些不僅能提高程序員的工作效率,同時(shí)還能極大地加快開發(fā)進(jìn)程。 腳本習(xí)慣說明本系統(tǒng)代碼中所有的類名和變量名遵循如下的原則(1)名字應(yīng)該能夠標(biāo)識(shí)事物的特性。(2)名字盡量不使用縮寫,除非它是眾所周知的。(3)名字可以有兩個(gè)或三個(gè)單詞組成,但通常不應(yīng)多于三個(gè)。(4)在名字中,所有單詞第一個(gè)字母大寫。(5) 使用名詞或名詞短語命名類。 (6)少用縮寫。 (7) 不要使用下劃線字符 (_)。 (8)不允許隨意定義全局變量。(9) 一個(gè)變量只能有一個(gè)用途;變量的用途必須和變量的名稱保持一致。(10)所有變量都必須在類和函數(shù)最前面定義,并分類排列。 腳本private void init() { int[] tempArr = new int[ * ]。 int len = 。 for(int i = 0。i len/maxKinds。i++) { tempArr[i * 4] = i + 1。 tempArr[i * 4 + 1] = i + 1。 tempArr[i * 4 + 2] = i + 1。 tempArr[i * 4 + 3] = i + 1。 } random(tempArr)。 for(int i = 1。i + 1。i++) { for(int j = 1。j + 1。j++) { [i][j] = tempArr[(i 1)* + (j 1)] 。 } } } public void random(int[] array) { Random random = new Random()。 int len = 。 for(int i = len。i 0。i) { int j = (i)。 int temp = array[i 1]。 array[i 1] = array[j]。 array[j] = temp。 } } 連連看游戲的連通算法連通算法的橫向帶狀區(qū)域連通判斷函數(shù)定義:public boolean verticalMatch(ArrayPoint p1,ArrayPoint p2) { if( != ) { return false。 } if( ) { ArrayPoint temp = null。 temp = p1。 p1 = p2。 p2 = temp。 } int spaceCount = 。 if(spaceCount == 1 amp。amp。 == ) { return true。 } for(int i = + 1。i 。i++) { ArrayPoint point = new ArrayPoint(i,map[i][])。 if( != 0) { return false。 } } return true。}連通算法的縱向帶狀區(qū)域連通判斷函數(shù)定義:public boolean borizonMatch(ArrayPoint p1,ArrayPoint p2) { if( != ) { return false。 } if( ) { ArrayPoint temp = null。 temp = p1。 p1 = p2。 p2 = temp。 } int spaceCount = 。 if(spaceCount == 1 amp。amp。 == ) { return true。 } for(int i = + 1。i 。i++) { ArrayPoint p = new ArrayPoint(,i,map[][i])。 if( != 0) { return false。 } } return true。 }連通狀態(tài)判斷函數(shù):public boolean match(ArrayPoint p1,ArrayPoint p2) { if((p1, p2)) return false。 if(oneLine(p1,p2)) { map[][] = 0。 map[][] = 0。 LEFTCOUNT =2。 return true。 } if(oneConner(p1,p2)) { map[][] = 0。 map[][] = 0。 LEFTCOUNT =2。 return true。 } if(twoConner(p1,p2)) { map[][] = 0。 map[][] = 0。 LEFTCOUNT =2。 return true。 } return false。 } 鑒于篇幅限制,腳本量較大,故完整腳本在附錄中列出。 6 系統(tǒng)的測(cè)試與運(yùn)行 游戲的測(cè)試軟件測(cè)試的基本原則是站在用戶的角度,對(duì)產(chǎn)品進(jìn)行全面測(cè)試,盡早、盡可能多地發(fā)現(xiàn)Bug,并
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1