![Java課程設(shè)計(jì)連連看游戲 程向東_第1頁](http://file4.renrendoc.com/view/5122cf09cf27882e9fd6a62a4b98d38b/5122cf09cf27882e9fd6a62a4b98d38b1.gif)
![Java課程設(shè)計(jì)連連看游戲 程向東_第2頁](http://file4.renrendoc.com/view/5122cf09cf27882e9fd6a62a4b98d38b/5122cf09cf27882e9fd6a62a4b98d38b2.gif)
![Java課程設(shè)計(jì)連連看游戲 程向東_第3頁](http://file4.renrendoc.com/view/5122cf09cf27882e9fd6a62a4b98d38b/5122cf09cf27882e9fd6a62a4b98d38b3.gif)
![Java課程設(shè)計(jì)連連看游戲 程向東_第4頁](http://file4.renrendoc.com/view/5122cf09cf27882e9fd6a62a4b98d38b/5122cf09cf27882e9fd6a62a4b98d38b4.gif)
![Java課程設(shè)計(jì)連連看游戲 程向東_第5頁](http://file4.renrendoc.com/view/5122cf09cf27882e9fd6a62a4b98d38b/5122cf09cf27882e9fd6a62a4b98d38b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
摘要當(dāng)今社會(huì),休閑型游戲越來越得到人們的喜愛,我所做的畢業(yè)設(shè)計(jì)實(shí)例“連連看游戲的設(shè)計(jì)與實(shí)現(xiàn)”是近幾年來網(wǎng)絡(luò)上非常流行的一種二維休閑游戲,它對(duì)電腦配置要求不高,娛樂性強(qiáng),易于上手。此次設(shè)計(jì)所使用的語言為JaVa語言,開發(fā)環(huán)境為JCreatOr。主要應(yīng)用到SWing組件,JaVa小程序,事件及接口等。這些接口為游戲的制作提供了便捷的條件,本系統(tǒng)的主要特點(diǎn)就是運(yùn)用SWing組件和事件處理技術(shù),進(jìn)行界面的繪制,鼠標(biāo)的操作,以及積分的顯示等功能。這次通過連連看的設(shè)計(jì)開發(fā)將對(duì)理解Swing組件技術(shù)以及事件處理技術(shù)在游戲方面的應(yīng)用起到很大的幫助作用,同時(shí)為掌握J(rèn)ava編程技術(shù)及二維休閑游戲設(shè)計(jì)的一般方法打下堅(jiān)實(shí)的基礎(chǔ)。關(guān)鍵詞:游戲,連連看,二維游戲ABSTRACTToday'ssociety,Casualgamesgetmoreandmorepopularamongpeople,Ididpopularinrecentyearsthenetworkofatwo-dimensionalcasualgames.Itslessdemandingcomputerconfiguration,Entertaining,Easytofly.ThelanguageusedingraduatedesignlanguagefortheJava,DevelopmentenvironmentfortheJCreator.MainlyappliedtotheMicrosoftSwingframeworkprovidesmoredocumentationproceduresandeventsfunctionstointerface.Thegameinterfaceoffersconvenientconditionsforproduction,Themainfeaturesofthissystemistouseeventsframeworkandinterfacetechnologytointerfacemapping,mouseoperations,anddisplayfunctionsstandings.ThedesignanddevelopmentbyLianliankanSwingframeworkwillunderstandthetechnologyandtheeventsapplicationoftechnologyinthegamesplayedveryhelpful,Javaprogrammingforbothmasterandtwo-dimensionalrecreationofthegeneralmethodofgamedesignandlayasolidfoundation.Keywords:Games,Lianliankan, two-dimensionalgame目錄\o"CurrentDocument"第1章緒論 0\o"CurrentDocument"背景 0\o"CurrentDocument"課程設(shè)計(jì)內(nèi)容 0\o"CurrentDocument"第2章連連看游戲界面 0連連看游戲概述 2\o"CurrentDocument"連連看游戲的規(guī)則 2\o"CurrentDocument"連連看勝利與失敗條件 3\o"CurrentDocument"連連看系統(tǒng)介紹 3\o"CurrentDocument"第3章連連看游戲的設(shè)計(jì) 5\o"CurrentDocument"系統(tǒng)需求分析 5\o"CurrentDocument"系統(tǒng)開發(fā)及運(yùn)行環(huán)境 5\o"CurrentDocument"系統(tǒng)主要功能要求 5\o"CurrentDocument"連連看系統(tǒng)總體結(jié)構(gòu) 6\o"CurrentDocument"連連看系統(tǒng)各模塊介紹 7\o"CurrentDocument"第4章系統(tǒng)的具體實(shí)現(xiàn) 9\o"CurrentDocument"界面設(shè)計(jì) 10\o"CurrentDocument"用戶登陸界面圖 9結(jié)束界面 錯(cuò)誤!未定義書簽。\o"CurrentDocument"程序設(shè)計(jì)及調(diào)試運(yùn)行 13\o"CurrentDocument"游戲的連接算法 14\o"CurrentDocument"第5章總結(jié) 18\o"CurrentDocument"參考文獻(xiàn) 20第1章緒論背景游戲“連連看”顧名思義就是找出相關(guān)聯(lián)的東西,這個(gè)連連看在網(wǎng)上基本是用在小游戲中,就是找出相同的兩樣?xùn)|西,在一定的規(guī)則之內(nèi)可以做為相關(guān)聯(lián)處理?!斑B連看”的發(fā)展經(jīng)歷了從桌面游戲、在線游戲、不同版本連連看游戲(12張)社交游戲三個(gè)過程。游戲“連連看”是源自臺(tái)灣的桌面小游戲,自從流入大陸以來風(fēng)靡一時(shí),也吸引眾多程序員開發(fā)出多種版本的“連連看”。這其中,顧方編寫的“阿達(dá)連連看”以其精良的制作廣受好評(píng),這也成為顧方“阿達(dá)系列軟件”的核心產(chǎn)品。并于2004年,取得了國家版權(quán)局的計(jì)算機(jī)軟件著作權(quán)登記證書。隨著Flash應(yīng)用的流行,網(wǎng)上出現(xiàn)了多種在線Flash版本“連連看”。如“水晶連連看”、“果蔬連連看”等,流行的“水晶連連看”以華麗界面吸引了一大批的女性玩家。2008年,隨著社交網(wǎng)絡(luò)的普及和開放平臺(tái)的興起,“連連看”被引入了社交網(wǎng)絡(luò)。“連連看”與個(gè)人空間相結(jié)合,被快速的傳播,成為一款熱門的社交游戲,其中以開發(fā)者JOnevey在ManyOu開放平臺(tái)上推出的“寵物連連看”最為流行。現(xiàn)在網(wǎng)絡(luò)小游戲、網(wǎng)頁游戲越來越受網(wǎng)民歡迎,除了玩的方法簡單外(不像其他游戲還需要注冊下載繁瑣過程),很多游戲不乏經(jīng)典。連連看游戲就是典型。不管走到哪個(gè)網(wǎng)頁游戲網(wǎng)站,連連看游戲總是排在受玩家歡迎排名的前5位,休閑、趣味、益智是連連看玩不厭的精華,且不分男女老少、工薪白領(lǐng),是一款適合大眾的經(jīng)典網(wǎng)絡(luò)休閑小游戲。課程設(shè)計(jì)內(nèi)容游戲規(guī)則是模仿網(wǎng)絡(luò)上普通的連連看游戲,主要是鼠標(biāo)兩次點(diǎn)擊的圖片能否消去的問題。當(dāng)前,前提是點(diǎn)擊兩張相同的圖片,若點(diǎn)擊的是同一張圖片或者兩張不同的圖片,則不予處理。在兩張想同圖片所能連通的所有路徑中,如果存在一條轉(zhuǎn)彎點(diǎn)不多于兩個(gè)的路徑,就可以消去;如果沒有,則不予處理。該游戲由30張不同的圖片組成,游戲開始將會(huì)出現(xiàn)30張隨機(jī)組合的圖片,在規(guī)則下點(diǎn)擊兩張相同的圖片后圖片將會(huì)消失。圖片全部消完為游戲成功。游戲還將設(shè)置退出,再來一局的按鈕,并實(shí)現(xiàn)該功能,方便用戶進(jìn)行操作。該游戲?qū)⒂腥缦聝?nèi)容:(1)游戲計(jì)分功能當(dāng)消去兩個(gè)相同的圖片后分?jǐn)?shù)將增加100分。(2)退出功能該功能有一個(gè)“退出”按鈕,當(dāng)按下“退出”按鈕后,將直接退出游戲。(3)再來一局功能該功能有一個(gè)“再來一局”的按鈕,當(dāng)按下“再來一局”按鈕后,圖片將會(huì)重新排列,重新開始游戲。(4)游戲倒計(jì)時(shí)功能在游戲界面的上方有一個(gè)倒計(jì)時(shí)的進(jìn)度條,增加游戲的難度,激發(fā)玩家的挑戰(zhàn)興趣。(5)用戶登錄注冊功能在進(jìn)入游戲界面之前,將會(huì)出現(xiàn)用戶登錄界面,如果沒有注冊的玩家在按下“注冊”按鈕后將進(jìn)入注冊界面,玩家需要填寫用戶名,密碼,性別等信息完成注冊,再進(jìn)入登錄界面,輸入用戶名和密碼按下“確定”后就將進(jìn)入游戲界面,開始游戲。第2章連連看游戲界面連連看游戲概述當(dāng)今社會(huì),休閑型游戲越來越得到人們的喜愛,我們所做的設(shè)計(jì)實(shí)例“連連看游戲的設(shè)計(jì)與實(shí)現(xiàn)”是近幾年來網(wǎng)絡(luò)上非常流行的一種二維休閑游戲,它對(duì)電腦配置要求不高,娛樂性強(qiáng),易于上手。此次設(shè)計(jì)所使用的語言為Java,開發(fā)環(huán)境為JCreator。主要應(yīng)用到Swing組件,Java小程序,事件及接口等。這些接口為游戲的制作提供了便捷的條件,本系統(tǒng)的主要特點(diǎn)就是運(yùn)用SWing組件和事件處理技術(shù),進(jìn)行界面的繪制,鼠標(biāo)的操作,以及積分的顯示等功能。這次通過連連看的設(shè)計(jì)開發(fā)將對(duì)理解Swing組件技術(shù)以及事件處理技術(shù)在游戲方面的應(yīng)用起到很大的幫助作用,同時(shí)為掌握J(rèn)ava編程技術(shù)及二維休閑游戲設(shè)計(jì)的一般方法打下堅(jiān)實(shí)的基礎(chǔ)。隨著Flash應(yīng)用的流行,網(wǎng)上出現(xiàn)了多種在線Flash版本“連連看”。如“水晶連連看”、“果蔬連連看”等,流行的“水晶連連看”以華麗界面吸引了一大批的女性玩家。不管走到哪個(gè)網(wǎng)頁游戲網(wǎng)站,連連看游戲總是排在受玩家歡迎排名的前5位,休閑、趣味、益智是連連看玩不厭的精華,且不分男女老少、工薪白領(lǐng),是一款適合大眾的經(jīng)典網(wǎng)絡(luò)休閑小游戲連連看游戲的規(guī)則玩家可以將2個(gè)相同圖案的對(duì)子連接起來,連接線不多于3根直線,就可以成功將對(duì)子消除。操作:第一次使用鼠標(biāo)點(diǎn)擊棋盤中的棋子,該棋子此時(shí)為“被選中”,以特殊方式顯示;再次以鼠標(biāo)點(diǎn)擊其他棋子,若該棋子與被選中的棋子圖案相同,且把第一個(gè)棋子到第二個(gè)棋子連起來,中間的直線不超過3根,則消掉這一對(duì)棋子,否則第一顆棋子恢復(fù)成未被選中狀態(tài),而第二顆棋子變成被選中狀態(tài)。連連看勝利與失敗條件勝利條件:將棋盤上面的對(duì)子全部消除掉。按消除的數(shù)量排列名次。失敗條件:每個(gè)玩家選擇牌的時(shí)間為30秒,超過時(shí)間而未消除一對(duì)的玩家以判為輸?shù)?。有一個(gè)玩家將所有的牌都全部消掉。2連連看系統(tǒng)介紹根據(jù)第三章的需求分析,我們制作出了連連看游戲在Windows平臺(tái)上運(yùn)行時(shí)的主要功能圖。根據(jù)此連連看的功能圖我們將對(duì)連連看游戲進(jìn)行概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。繼而開發(fā)出一個(gè)完整的連連看電腦游戲??傮w的系統(tǒng)圖如下圖所示:圖2-1系統(tǒng)功能圖連連看是運(yùn)用JCreatOr中的多文檔視圖開發(fā)的,文檔——視圖結(jié)構(gòu)提供的應(yīng)用程序接口有利于進(jìn)行窗口操作、文件讀取等編程。連連看游戲引擎包含在視圖類中。游戲引擎是一個(gè)抽象的概念,用于實(shí)現(xiàn)游戲的邏輯功能,通常在一個(gè)獨(dú)立的類中,有時(shí)引擎和視圖是一體的,并且可能無可避免,因?yàn)橐晥D需要為引擎處理用戶輸入和繪圖。游戲程序設(shè)計(jì)一般都采用面向?qū)ο蟮脑O(shè)計(jì)模式,提供了一個(gè)簡單的圖像顯示接口,利用多文檔視圖結(jié)構(gòu)的面向?qū)ο笤O(shè)計(jì)模式。2.3本章小結(jié)這一章介紹了連連看應(yīng)該具備的功能模塊,在這一章中,我們可以了解什么是連連看,當(dāng)前連連看系統(tǒng)的系統(tǒng),還有一個(gè)連連看系統(tǒng)應(yīng)該的開發(fā)目標(biāo)。第3章連連看游戲的設(shè)計(jì)這一章將介紹連連看游戲的設(shè)計(jì),從游戲需求分析開始,介紹開發(fā)環(huán)境和用到的開發(fā)工具,系統(tǒng)主要的功能設(shè)計(jì),系統(tǒng)的數(shù)據(jù)流程圖。系統(tǒng)需求分析連連看游戲的設(shè)計(jì)目標(biāo)為:(1)該游戲開始前,將設(shè)置一個(gè)用戶登錄注冊界面,如果沒有注冊的玩家在按下“注冊”按鈕后將進(jìn)入注冊界面,玩家需要填寫用戶名,密碼,性別等信息完成注冊,再進(jìn)入登錄界面,輸入用戶名和密碼按下“確定”后就將進(jìn)入游戲界面,開始游戲。(2)游戲中將有“退出”功能,選擇退出命令后程序?qū)⒔K止執(zhí)行,關(guān)閉窗口。還將有“再來一局”功能,選擇再來一局命令后程序?qū)?duì)圖片重新排列,重新開始游戲。該游戲還有一個(gè)時(shí)間倒計(jì)時(shí)的進(jìn)度條,提醒玩家剩余的時(shí)間,增加游戲的難度。在界面的頂部有計(jì)分功能,當(dāng)玩家消去圖片后就會(huì)贏得相應(yīng)的分?jǐn)?shù)。系統(tǒng)開發(fā)及運(yùn)行環(huán)境硬件平臺(tái):CPU:P41.8GHz。內(nèi)存:256MB以上。軟件平臺(tái):操作系統(tǒng):Windows7。系統(tǒng)主要功能要求本系統(tǒng)針對(duì)中小學(xué)生的娛樂時(shí)間,通過程序中的線程、布局以及用戶登錄還有另外的一些功能進(jìn)行有效管理。本系統(tǒng)主要實(shí)現(xiàn)如下功能:系統(tǒng)采用圖片連連看的方式,界面美觀友好,用戶使用靈活、方便、快捷、準(zhǔn)確,數(shù)據(jù)存儲(chǔ)安全可靠。實(shí)現(xiàn)用戶登錄注冊功能。圖片的消除、排列清晰。計(jì)分自動(dòng)完成,提高工作效率。用進(jìn)度條來表現(xiàn)用掉的時(shí)間。實(shí)現(xiàn)多條件查詢??煞奖憧旖莸剡M(jìn)行下一盤游戲,并且兩盤的分?jǐn)?shù)在規(guī)定的時(shí)間內(nèi)會(huì)疊加起來。操作員可以隨時(shí)退出游戲。對(duì)用戶輸入的信息,系統(tǒng)進(jìn)行嚴(yán)格的信息檢驗(yàn),盡可能排除人為的錯(cuò)誤。系統(tǒng)最大限度地實(shí)現(xiàn)了易維護(hù)性和易操作性。系統(tǒng)運(yùn)行穩(wěn)定、安全可靠。.4.1連連看系統(tǒng)總體結(jié)構(gòu)連連看是基于java基本知識(shí)設(shè)置的一個(gè)小游戲,剛開始的時(shí)候有一個(gè)用戶登陸界面,要是沒有賬號(hào)的可以先申請(qǐng)一個(gè)。最中間有連連看的主體構(gòu)成——連連看圖片,上面有計(jì)分、時(shí)間條,下面有退出、再來一局按鍵。一個(gè)標(biāo)準(zhǔn)的連連看系統(tǒng)應(yīng)該包括以下幾大功結(jié)構(gòu):1、鼠標(biāo)操作模塊;2、圖像處理模塊;3、菜單模塊;4、界面顯示模塊。.4.2連連看系統(tǒng)各模塊介紹系統(tǒng)各功能模塊實(shí)現(xiàn)的功能為:鼠標(biāo)操作模塊:玩家在玩游戲時(shí)需要運(yùn)用鼠標(biāo)與游戲系統(tǒng)進(jìn)行交互,這個(gè)模塊的實(shí)現(xiàn)是運(yùn)用MFC中的鼠標(biāo)事件觸發(fā)的,在連連看的游戲場景中運(yùn)用鼠標(biāo)進(jìn)行交互的事件主要有兩個(gè),一個(gè)是用戶點(diǎn)擊游戲場景中的圖片時(shí)觸發(fā)的事件。另外一種是用戶點(diǎn)擊菜單欄上的菜單按鈕時(shí)說觸發(fā)的鼠標(biāo)事件。當(dāng)用戶點(diǎn)擊游戲場景中的圖像塊時(shí)就會(huì)響應(yīng)鼠標(biāo)的OnLButtonDOwn事件,然后進(jìn)行相應(yīng)的邏輯判斷。當(dāng)用戶點(diǎn)擊菜單欄上的菜單命令時(shí)就會(huì)觸發(fā)相應(yīng)的菜單命令對(duì)應(yīng)的相應(yīng)的事件。圖像處理模塊:程序運(yùn)行后,用戶通過游戲菜單的開始命令或者直接按下F2鍵開始進(jìn)入游戲,在這個(gè)模塊里要把資源文件中的圖片進(jìn)行處理然后加載到游戲場景中這在程序中是通過DrawMaP()方法實(shí)現(xiàn)的。其中用到的API函數(shù)主要是是BitBlt,他的主要功能是將某一內(nèi)存塊的數(shù)據(jù)傳送到另一內(nèi)存塊,前一內(nèi)存塊被稱為源,后一內(nèi)存塊被稱為目標(biāo)圖象程序開發(fā)者使用Blit的函數(shù)在內(nèi)存中將某頁面上的一幅位圖經(jīng)過一定的變換轉(zhuǎn)移到另一個(gè)頁面上。菜單模塊:玩家在游戲游戲過程中隨時(shí)可以通過選擇不同的菜單命令來進(jìn)行相應(yīng)的操作,菜單的制作是通過MFC框架中多文檔程序的菜單欄來添加的,菜單包含一下幾個(gè)部分:(1)游戲菜單中的開始、放棄和退出命令。(2)選項(xiàng)菜單里面的提示、重列、暫停、音樂、音效、和積分命令。(3)幫助菜單,介紹了游戲的版本等。具體的實(shí)現(xiàn)方法下一張將在做詳細(xì)介紹。界面顯示模塊:游戲場景中界面的顯示包括以下部分:游戲的級(jí)別、關(guān)卡數(shù)、允許重新排列的次數(shù)、允許的提示次數(shù)、剩余時(shí)間、游戲主場景。這些顯示信息會(huì)隨著游戲的進(jìn)行而動(dòng)態(tài)改變。當(dāng)提示次數(shù)和重列次數(shù)為0時(shí)系統(tǒng)就不在允許用戶使用提示和重列的功能。在連連看游戲中,除了上面講到的程序主界面外還包含了顯示積分和排名的對(duì)話框的設(shè)計(jì),在積分和排名對(duì)話框中,用戶可以查看積分排名情況,可以清除排名記錄。整個(gè)連連看游戲的系統(tǒng)是在VC++6.0開發(fā)環(huán)境中進(jìn)行開發(fā)的,開發(fā)過程中大量的使用了微軟提供的API接口方法,減少了程序代碼的編寫量、提高了編程效3.5本章小結(jié)本章在前面分析的基礎(chǔ)上實(shí)現(xiàn)了連連看游戲的設(shè)計(jì),實(shí)現(xiàn)了連連看游戲的背景顯示功能、菜單功能、以及連連看游戲中的核心算法。在菜單功能模塊中針對(duì)每個(gè)菜單的命令進(jìn)行了詳細(xì)的解釋和闡釋實(shí)現(xiàn)了每一個(gè)子菜單的命令。在連接算法中,給出了每一個(gè)算法的程序邏輯了和詳細(xì)的算法實(shí)現(xiàn)。并且還繪制出了每一種連接情況的具體圖片。在連連看游戲的其他算法中列出了時(shí)間進(jìn)度顯示的實(shí)現(xiàn)方法和一些重要的數(shù)據(jù)結(jié)構(gòu),在此可以結(jié)合程序詳細(xì)的研究。第4章系統(tǒng)的具體實(shí)現(xiàn)界面是系統(tǒng)之間最直接的交互界面,界面的友好性體現(xiàn)了軟件設(shè)計(jì)的質(zhì)量,并在很大程度上決定了軟件是否成功。界面設(shè)計(jì)用戶登陸界面圖如圖4-1和圖4-2所示圖4.-1用戶登錄模塊框圖圖4-2用戶登陸界面4.1.2結(jié)束界面N關(guān)鍵代碼:publicvoidremove(){firstButton.setVisible(false);//不可見secondButton.setVisible(false);fraction();pressInformation=false;k=0;grid[x0][y0]=0;grid[x][y]=0;}publicvoidactionPerformed(ActionEvente){if(e.getSource()==newlyButton){intgrid[][]=newint[8][7];this.grid=grid;randomBuild();mainFrame.setVisible(false);pressInformation=false;init();}if(e.getSource()==exitButton)System.exit(0);//if(e.getSource()==resetButton)//reload();newActionListener(){if(e.getSource()==timer){if(time.isEnd()){timer.stop();if(JOptionPane.showConfirmDialog(mainFrame,時(shí)間到了,o(-?-)o 要再來一局嗎? 提示JOptionPane.YES_NO_OPTION) ==JOptionPane.OK_OPTION){intgrid[][]=newint[8][7];this.grid=grid;randomBuild();mainFrame.setVisible(false);pressInformation=false;init();timer.start();}elseSystem.exit(0);}}for(intcols=0;cols<6;cols++){for(introws=0;rows<5;rows++){if(e.getSource()==diamondsButton[cols][rows])estimateEven(cols+ 1,rows+ 1,diamondsButton[cols][rows]);}}}程序設(shè)計(jì)及調(diào)試運(yùn)行按功能模塊結(jié)構(gòu)設(shè)計(jì)菜單,布置各明細(xì)模塊工作界面,編寫各個(gè)模塊的程序代碼,進(jìn)行編譯連接運(yùn)行,經(jīng)過反復(fù)調(diào)試修改,以達(dá)到系統(tǒng)功能要求。這個(gè)過程具有大量的工作量,應(yīng)仔細(xì)對(duì)每個(gè)程序細(xì)節(jié)進(jìn)行分析思考、編寫程序并調(diào)試,做到程序簡潔清楚,盡量避免可能潛在的程序錯(cuò)誤,并在必要的地方加以注釋,以便于程序閱讀和修改。游戲的連接算法連連看游戲中對(duì)于用戶來說最簡單的呈現(xiàn)就是單擊兩個(gè)連在一起的的相同的圖像時(shí)這兩個(gè)圖像就會(huì)消去。即使不是緊鄰的兩個(gè)相同的圖像塊消去時(shí)也不能超過兩次轉(zhuǎn)彎。連連看游戲的聯(lián)通算法一般包括回溯法和堆棧實(shí)現(xiàn)的迷宮算法。在本次開發(fā)的連連看中兩個(gè)圖像塊可以消去的情況分為以下幾種情況。設(shè)第一個(gè)圖像塊的橫坐標(biāo)為xl,縱坐標(biāo)為yl,第二個(gè)圖像塊的橫坐標(biāo)為x2,縱坐標(biāo)為y2.兩個(gè)圖像塊在在統(tǒng)一行上面,即xl=x2且yl>y2或者xl=x2且yl<y2,如下圖所示:◎@圖4-4同行兩個(gè)圖像塊在同一列,即yl=y2且xl>x2或者yl=y2且xl<x2,如下圖所示:?φ?qǐng)D4-5同列兩個(gè)相同的圖像塊是相對(duì)的,記一個(gè)圖像在另一個(gè)圖像的右下角,即:χl<χ2且yl<y2或者xl>x2且yl>y2兩種情況。具體如下圖所示:圖4-6對(duì)角的?兩個(gè)相同的圖像塊是相對(duì)的,記一個(gè)圖像在另一個(gè)圖像的右下角,即:x1<x2且yl>y2或者xl>x2且yl<y2兩種情況。具體如下圖所示:圖4-7左對(duì)角在上面的四種情況當(dāng)中又包含了許多中可能。針對(duì)同行的兩個(gè)相同的顏色的圖像塊來說又可分為兩種情況,即:在同一行相鄰和同一行不相鄰的情況,不相臨的情況下有可以分為兩種,能消去的和不能消去的。同在一列的也是這樣。至于兩個(gè)點(diǎn)之間存在折線的,也可以分為兩種情況,一種是存在折線但是能夠消除掉這兩個(gè)顏色相同的圖像塊,一種是不能消除的,本人在設(shè)計(jì)程序的時(shí)候針對(duì)不同的情況分別進(jìn)行了判斷和設(shè)計(jì)。下面分別對(duì)程序的算法進(jìn)行討論。首先是判斷在同一行中除起始點(diǎn)圖像塊以外到其他的圖像塊之間還有沒有其他的圖像塊。如果有函數(shù)返回false,如果沒有函數(shù)返回true。其邏輯圖如下圖所示:圖4-8ISLinePicEmPty邏輯圖ISLinePiCEmPty方法主要是通過兩個(gè)圖像塊的坐標(biāo)來判斷兩個(gè)圖像塊之間是不是還有其他的圖像塊,上面的函數(shù)實(shí)現(xiàn)了同在一行或一列的圖像塊的檢測下面的算法則實(shí)現(xiàn)了判斷一條直線上的兩個(gè)點(diǎn)是不是可以聯(lián)通的。算法邏輯跟上面ISLinePiCEmPt算法一樣,即檢查相同的行或列上的兩個(gè)相同圖像塊是不是可以連通的,即:兩個(gè)之間是不是還有其他圖像塊,算法邏輯圖如下圖所示:圖4-9IsLineConnection在連連看的連接算法中上面的程序解決了在同一行或同一列中的相同圖像塊的檢測,下面的算法則解決了在兩個(gè)相同圖像塊之間存在一條折線的問題。算法的具體的邏輯設(shè)計(jì)圖圖下
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國翻新懸浮滑板行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 圓電極行業(yè)行業(yè)發(fā)展趨勢及投資戰(zhàn)略研究分析報(bào)告
- 中國濕式球磨機(jī)行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略規(guī)劃研究報(bào)告
- 2025年直腳拋光圓盤爐項(xiàng)目投資可行性研究分析報(bào)告
- 2025年破碎機(jī)項(xiàng)目可行性研究報(bào)告
- 2025年交流直流焊機(jī)行業(yè)深度研究分析報(bào)告
- 2025年度新能源汽車電池技術(shù)保密共享合同
- 2025年度農(nóng)產(chǎn)品收購合同規(guī)范范本
- 2025年度文化產(chǎn)業(yè)項(xiàng)目股權(quán)質(zhì)押融資合同范本
- 2025年度酒店消防設(shè)施設(shè)備操作與維護(hù)人員培訓(xùn)合同
- 二零二五版電力設(shè)施維修保養(yǎng)合同協(xié)議3篇
- 最經(jīng)典凈水廠施工組織設(shè)計(jì)
- VDA6.3過程審核報(bào)告
- 2024-2030年中國并購基金行業(yè)發(fā)展前景預(yù)測及投資策略研究報(bào)告
- 2024年湖南商務(wù)職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫帶答案
- 骨科手術(shù)中常被忽略的操作課件
- 《湖南師范大學(xué)》課件
- 2024年全國各地中考試題分類匯編:作文題目
- 2024年高壓電工操作證考試復(fù)習(xí)題庫及答案(共三套)
- 《糖拌西紅柿 》 教案()
- 彈性力學(xué)數(shù)值方法:解析法:彈性力學(xué)中的變分原理
評(píng)論
0/150
提交評(píng)論