版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
貪吃蛇小游戲的開(kāi)發(fā)與設(shè)計(jì)摘要貪吃蛇小游戲是一款大家都比較熟悉的小游戲,每個(gè)人基本都玩過(guò),實(shí)現(xiàn)游戲的關(guān)鍵就是要構(gòu)建好貪吃蛇在游戲界面中上下左右移動(dòng)的框架,這樣就比較容易的開(kāi)發(fā)好這款小游戲。在本次畢業(yè)設(shè)計(jì)當(dāng)中,我的題目是貪吃蛇小游戲的開(kāi)發(fā)與設(shè)計(jì)。在這個(gè)設(shè)計(jì)當(dāng)中,所用的工具為eclipse,在設(shè)計(jì)之初,通過(guò)對(duì)這款游戲的技術(shù)可行性和經(jīng)濟(jì)可行性進(jìn)行了分析,了解了用戶對(duì)這款小游戲的基本需求,我主要是通過(guò)創(chuàng)建了五個(gè)java類來(lái)實(shí)現(xiàn)貪吃蛇的一些功能,通過(guò)創(chuàng)建食物類實(shí)現(xiàn)了食物的構(gòu)建和食物不斷刷新位置的功能,通過(guò)貪吃蛇類實(shí)現(xiàn)了貪吃蛇的構(gòu)造和蛇頭切換功能,通過(guò)界面類實(shí)現(xiàn)了游戲界面的設(shè)置,通過(guò)框架類實(shí)現(xiàn)了窗體的大小和出現(xiàn)消失功能。其次,在這款小游戲中加上了音樂(lè)功能,主要是通過(guò)設(shè)置music函數(shù),start函數(shù),stop函數(shù)來(lái)實(shí)現(xiàn)音樂(lè)這個(gè)功能,使玩家在玩游戲的同時(shí)可以享受音樂(lè)。關(guān)鍵字游戲java貪吃蛇食物類DevelopmentanddesignofsnakegameAbstractSnakegameisasmallgamethateveryoneisfamiliarwith.Everyonehasplayedit.Thekeytorealizingthegameistobuildaframeforsnaketomoveupanddowninthegameinterface,thisisrelativelyeasytodevelopthissmallgame.Inthisgraduationproject,mytopicisthegreedysnakesmallgamedevelopmentandthedesign.Inthisdesign,thetoolusedforeclipse,intheearlydesignofthegamethroughthetechnicalfeasibilityandeconomicfeasibilityanalysis,understandtheuser'sbasicneedsforthissmallgame,ibasicallycreatedfiveJavaclassestoimplementsomeofthefunctionsofgreedysnake,andcreatedafoodclasstobuildandrefreshthefood'slocation,thestructureofsnakeandthefunctionofsnakeheadswitcharerealizedbysnake,thegameinterfaceissetbyinterfaceclass,andtheformsizeandvanishingfunctionarerealizedbyframeclass.Secondly,inthissmallgameaddedmusicfunction,mainlybysettingmusicfunction,startfunction,stopfunctiontoachievethefunctionofmusic,sothatplayerscanenjoymusicwhileplayingthegame.KeywordsGame,Java,Snake,food,Class目錄1引言 引言1.1游戲的特點(diǎn)1.1.1可以體現(xiàn)人的轉(zhuǎn)觀能動(dòng)性像我們平時(shí)的看電視等,都屬于被動(dòng)接受;當(dāng)然,我們玩電腦游戲時(shí),也有著一部分的被動(dòng)接受,但是,其中更多的體現(xiàn)的是玩家的自己的一個(gè)意愿。換句話說(shuō),電腦游戲是我們玩家和游戲情節(jié)的一個(gè)互動(dòng)!從中不難發(fā)現(xiàn),這也是為什么現(xiàn)在越來(lái)越多的青少年不愿意宅在家里區(qū)看電視而是選擇去網(wǎng)吧玩電腦游戲!1.1.2可以給用戶帶來(lái)前所未有的體驗(yàn)和新鮮感在電腦上玩游戲還是有一定的難度的,但是這種難度是我們可以接受的。這種難度比不上生活所帶給我們的難度,并且沒(méi)有我們生活中的繁瑣和乏味。所以,完全可以給玩家?guī)?lái)前所未有的新鮮感和刺激感。當(dāng)然,這肯定是電腦游戲可以喜迎大部分玩家的主要原因之一。1.1.3減少了和外界的交流的機(jī)會(huì)現(xiàn)如今,越來(lái)越多的青少年選擇宅在家里,不愿意出去與別人交流,不愿意去接受這個(gè)世界。人們厭倦這種戴面具的日子。這時(shí)候,電腦游戲就完全可以讓我們躲避這些。當(dāng)然,在電腦游戲中,我們也會(huì)多多少少的與他人交流。但是,這是我自己的地盤(pán),自己的王國(guó),在這里,都要聽(tīng)我的。1.2游戲的產(chǎn)業(yè)現(xiàn)狀據(jù)《報(bào)告》顯示,自21世紀(jì)開(kāi)始,我國(guó)國(guó)內(nèi)的游戲市場(chǎng)取得了突破性的進(jìn)步,探索新的發(fā)展模式和途徑取得較快增長(zhǎng)。我國(guó)也通過(guò)海外市場(chǎng)不斷的提高自己的游戲產(chǎn)業(yè),數(shù)據(jù)表明,美國(guó)已成為中國(guó)游戲企業(yè)出海的重要目標(biāo)市場(chǎng)。這幾年來(lái),我國(guó)游戲產(chǎn)業(yè)發(fā)展穩(wěn)中有升全國(guó)各地的大中小城市都抓住游戲發(fā)展的機(jī)遇,不斷的加大對(duì)游戲產(chǎn)業(yè)的投資力度和加速建設(shè)了一個(gè)又一個(gè)的游戲產(chǎn)業(yè)園,接踵而來(lái)的是,不僅讓當(dāng)?shù)氐慕?jīng)濟(jì)發(fā)展取得了跨越式的進(jìn)步,而且還提高了當(dāng)?shù)乩习傩盏纳钏剑翢o(wú)保留的促進(jìn)了我國(guó)的游戲產(chǎn)業(yè)鏈的發(fā)展。在2019年上個(gè)季度,我國(guó)游戲開(kāi)發(fā)基地就開(kāi)始傾斜于原創(chuàng)產(chǎn)品的設(shè)計(jì),并通過(guò)日復(fù)一日的努力取得了傲人的成績(jī)。根據(jù)數(shù)據(jù)顯示,從2019年開(kāi)始,我國(guó)就加大了對(duì)游戲產(chǎn)業(yè)的原創(chuàng)和高新技術(shù)的研究于開(kāi)發(fā),我們的研究開(kāi)發(fā)人員在游戲產(chǎn)品和管理運(yùn)營(yíng)當(dāng)中將我們自主研發(fā)的高新技術(shù)融會(huì)貫通,為我們國(guó)產(chǎn)的原創(chuàng)游戲打下了一個(gè)良好的基礎(chǔ)。原創(chuàng)化游戲是大勢(shì)所趨,中國(guó)通過(guò)多年的努力也贏得了海外市場(chǎng)的關(guān)注和認(rèn)可,因此,中國(guó)的游戲產(chǎn)業(yè)在國(guó)際上的地位也就顯著提高了。同時(shí),我國(guó)的游戲市場(chǎng)不斷向海外開(kāi)拓。不斷的收購(gòu)海外的游戲市場(chǎng),形成一個(gè)中國(guó)特有的游戲市場(chǎng),顯著的提高了中國(guó)預(yù)習(xí)產(chǎn)業(yè)在國(guó)際上的地位,提高了話語(yǔ)權(quán)從而也大大增加了我國(guó)游戲市場(chǎng)在國(guó)際市場(chǎng)上的競(jìng)爭(zhēng)力。1.3游戲的發(fā)展歷史可以這么說(shuō),什么時(shí)候有了電腦,什么時(shí)候就有了游戲。上世紀(jì)60年代,在我們當(dāng)中,就有一小部分程序員開(kāi)始開(kāi)發(fā)一些小游,但是在那種情況下,大家都把他們的這種做法當(dāng)作是對(duì)計(jì)算機(jī)行業(yè)的研究罷了。由于當(dāng)時(shí)計(jì)算機(jī)行業(yè)的不普遍,再加上電腦軟件和硬件的限制,這些游戲只能為一些比較高層的計(jì)算機(jī)相關(guān)人士所知曉。到了80年代,世界上第一款pc機(jī)問(wèn)世后,計(jì)算機(jī)開(kāi)始進(jìn)入平常百姓家。在接下來(lái)的幾十年時(shí)間里,計(jì)算機(jī)的軟件和硬件都發(fā)生了歷史性的突破,人們可以隨心所欲的開(kāi)發(fā)各種小游戲。許許多多的游戲被開(kāi)發(fā)出來(lái)之后,有的是真的可以達(dá)到滿足人們放松身心的需求,但是很大一部分的游戲并沒(méi)有叨叨這個(gè)需求,反而讓人上癮,耽誤了工作,甚至破壞了家庭和睦,這也違背了我們開(kāi)發(fā)游戲的初衷,所以,這類游戲還是少出現(xiàn)在人們的視野中較好。現(xiàn)如今,世界已是一個(gè)信息時(shí)代,每個(gè)國(guó)家都在摩拳擦掌。所以,理所當(dāng)然,計(jì)算機(jī)游戲成為了許多軟件開(kāi)發(fā)商爭(zhēng)搶的一塊風(fēng)水寶地。信息時(shí)代的世界,人們的生活水平和經(jīng)濟(jì)水平都得到了普遍的提升,尤其是我國(guó),在經(jīng)歷了抗日戰(zhàn)爭(zhēng)和解放戰(zhàn)爭(zhēng)之后,經(jīng)濟(jì)水平快速發(fā)展,已經(jīng)躋身世界第二強(qiáng)國(guó)。所以緊接著,就要出現(xiàn)合適我國(guó)人民乃至世界人民都需要的休閑方式,游戲就應(yīng)運(yùn)而生了。雖說(shuō),吳國(guó)自古以來(lái),都有著不少的游戲方式在滿足我們?nèi)嗣竦男蓍e生活,但是畢竟現(xiàn)在是21世紀(jì),古老的游戲方式已經(jīng)明顯滿足不了人們的需求,所以,電腦游戲就開(kāi)始出現(xiàn)在人們的視野當(dāng)中,這也就是為什么許多的軟件開(kāi)發(fā)商如此爭(zhēng)搶游戲開(kāi)發(fā)這塊寶地,使世界游戲產(chǎn)業(yè)水平提高到了很大的一個(gè)層次。2java的簡(jiǎn)介2.1java的功能和特點(diǎn)跨平臺(tái)的面向?qū)ο蟮脑O(shè)計(jì)是Java的特點(diǎn)。Java具有高超的適用性,效率性,跨平臺(tái)性和可靠性,被廣泛應(yīng)用于國(guó)際互聯(lián)網(wǎng)和大數(shù)據(jù)領(lǐng)域,與此同時(shí),java具有著全球人數(shù)最多,專業(yè)最強(qiáng)的開(kāi)發(fā)社群。Java語(yǔ)言是可學(xué)的,易學(xué)的。Java語(yǔ)言在某些方面和C語(yǔ)言及C++語(yǔ)言有著異曲同工之處,這就使得我們一線的程序員都在學(xué)習(xí)和使用Java語(yǔ)言,也很容易上手。從一方面來(lái)說(shuō),Java舍棄了C++中不入流的,難以理解的,不易操作的地方,如操作符重載,多繼承,自動(dòng)的強(qiáng)制類型轉(zhuǎn)換。尤其要強(qiáng)調(diào)的是,Java語(yǔ)言采用引用,并不使用指針。而且會(huì)自動(dòng)的搜集廢料,這就使得我們一線的程序員不用為了內(nèi)存大小的問(wèn)題而分心。分布式的形式也是Java的一個(gè)特點(diǎn)。Internet開(kāi)發(fā)可以被Java語(yǔ)言所接受,網(wǎng)絡(luò)應(yīng)用編程接口(javanet)是Java的一個(gè)相對(duì)來(lái)說(shuō)比較基本的接口,網(wǎng)絡(luò)應(yīng)用編程的類庫(kù)也是它所提供的。Java的RMI(遠(yuǎn)程方法激活)機(jī)制也是開(kāi)發(fā)分布式應(yīng)用的手段。2.2java的發(fā)展及背景在現(xiàn)實(shí)生活當(dāng)中,人與人交流是通過(guò)語(yǔ)言來(lái)完成的,如出一轍,我們?nèi)绻陀?jì)算機(jī)交流也需要這么一種語(yǔ)言。在上世紀(jì)90年代,Sun公司通過(guò)不懈的努力研究出一種新興的編程語(yǔ)言——JAVA。是由Java之父詹姆斯.高斯林領(lǐng)導(dǎo)的一個(gè)小組開(kāi)發(fā)的。加入消費(fèi)類嵌入式軟件是開(kāi)發(fā)這種語(yǔ)言的最初目的。經(jīng)過(guò)多年的發(fā)展,人類開(kāi)始認(rèn)識(shí)到跨平臺(tái)和可移植,所以,這種語(yǔ)言Java很快就得到了大家的認(rèn)可并廣為傳播。當(dāng)java發(fā)展到第二代的時(shí)候,Java分成JavaSeJavaMejavaEe,即標(biāo)準(zhǔn)版,企業(yè)版,微縮版三個(gè)版本。最終,java獲得了很大一部分一線程序員的青睞,也就是說(shuō),經(jīng)過(guò)多年的開(kāi)發(fā)與改進(jìn),java始終把開(kāi)發(fā)者放在第一位,盡一切可能滿足開(kāi)發(fā)者的需求,正是因?yàn)檫@樣,Java語(yǔ)言才能獲得今天這樣的成就,也就意味著,Java語(yǔ)言取得了成功。2.3系統(tǒng)的開(kāi)發(fā)環(huán)境2.3.1eclipse的產(chǎn)生與發(fā)展早在上世紀(jì)90年代中期,世界上就有這幾個(gè)強(qiáng)大的開(kāi)發(fā)環(huán)境。微軟公司的VisualStudio的發(fā)展方向是多用途工具。也出現(xiàn)了幾個(gè)基于Java的集成開(kāi)發(fā)環(huán)境,所以,許許多多的軟件開(kāi)發(fā)公司就著手開(kāi)始對(duì)Java語(yǔ)言的開(kāi)發(fā)。從這一階段開(kāi)始,用來(lái)使程序開(kāi)發(fā)人員不再關(guān)心細(xì)節(jié)和相應(yīng)的服務(wù)器出現(xiàn)問(wèn)題,從而大大減少了開(kāi)發(fā)人員的麻煩,從而間接的提高了開(kāi)發(fā)效率。從Java開(kāi)發(fā)的角度,平臺(tái)給予了我們相對(duì)應(yīng)的應(yīng)用服務(wù)器。在那時(shí),微軟提供的MTS和COM+是當(dāng)時(shí)開(kāi)發(fā)人員使用的運(yùn)行時(shí)的環(huán)境。我們不難看出eclipse經(jīng)過(guò)多年的發(fā)展有著喜人的成績(jī),受到了廣大程序員的青睞。截至目前已經(jīng)有12個(gè)會(huì)員加入了Eclipse,加入當(dāng)中的每一個(gè)會(huì)員每年都會(huì)提供一大批開(kāi)發(fā)人員和投入大量的資金。此外,國(guó)際上還有13個(gè)軟件開(kāi)發(fā)公司與之合作。當(dāng)然,如果你肯花時(shí)間去研究這一塊,你就會(huì)發(fā)現(xiàn)有許許多多的插件都和eclipse有關(guān)聯(lián),并且都能夠生成產(chǎn)品。Eclipse現(xiàn)在是業(yè)內(nèi)主要的非微軟軟件工具平臺(tái)。2.3.2eclipse的基本配置要求1、JAVA_HOME:jdk的根目錄(安裝的目錄)2、CLASSPATH:保證程序運(yùn)行時(shí)找打”.class"文件(lib)3、PATH:JDK安裝目錄的bin文件夾2.3.3eclipse的內(nèi)容簡(jiǎn)介Eclipse的組成:eclipse主要是開(kāi)放源代碼,側(cè)重于為高度集成的工具提供一個(gè)功能較全同時(shí)也具備商業(yè)性的這樣的一個(gè)平臺(tái)。最重要的是由項(xiàng)目,工具項(xiàng)目和技術(shù)項(xiàng)目三個(gè)部分組成。Eclipse平臺(tái)允許工具建造者獨(dú)立開(kāi)發(fā)與他人無(wú)縫集成的工具從而分辨在哪里結(jié)束,同時(shí)又在哪里開(kāi)始。2.3.4eclipse的界面圖2.3.4(1)eclipse的界面2.3.5eclipse的特點(diǎn)強(qiáng)大的集成開(kāi)發(fā)環(huán)境是eclipse的突出優(yōu)點(diǎn),cvs,JUnit和Ant被他占為己有,而且,在代碼重構(gòu)功能方面,他有著其他開(kāi)發(fā)軟件所不具有的戰(zhàn)略性優(yōu)勢(shì)。Java的開(kāi)發(fā)環(huán)境在eclipse當(dāng)中,所以Eclipse默認(rèn)就是一個(gè)Java開(kāi)發(fā)工具。但是,換句話說(shuō),eclipse不僅是為java服務(wù),如果裝上C/C++開(kāi)發(fā)環(huán)境插件(簡(jiǎn)稱CDT),我們的eclipse就是一個(gè)C/C++的開(kāi)發(fā)工具??梢赃@么說(shuō),如果你有任何一種相關(guān)的插件,Eclipse就能夠成為任何一種開(kāi)發(fā)工具。Eclipse他最突出的有點(diǎn)和最強(qiáng)大的功能就是他的插件擴(kuò)展機(jī)制,插件擴(kuò)展機(jī)制使eclipse上升了一個(gè)無(wú)與倫比的高度。我們現(xiàn)實(shí)生活當(dāng)中有著成千上萬(wàn)的這種插件,它既可以是一種桌面應(yīng)用工具,也可以是眾多編程工具當(dāng)中的一種工具。Eclipse有了一種無(wú)限擴(kuò)展的可能性就是因?yàn)橛欣@種插件機(jī)制,Eclipse就好比一個(gè)功能巧妙的插畫(huà)底座,我們可以在底座上面插上梅花,百合,向日葵,這樣,eclipse就會(huì)變成一個(gè)完全不一樣的工具。3游戲分析3.1游戲的可行性分析可行性分析從一方面來(lái)說(shuō)也可以叫做可行性研究,在對(duì)方案進(jìn)行全面調(diào)查的情況下,做一種新系統(tǒng)的開(kāi)發(fā)方案,從影響、技術(shù)等方面進(jìn)行相關(guān)的研究,從而對(duì)新系統(tǒng)的成功開(kāi)發(fā)做出保證,進(jìn)而排除失敗的可能性??尚行苑治鲋饕哪康脑谧疃痰臅r(shí)間內(nèi)花最小的成本并且成功的解決問(wèn)題,具體的可行性研究包含下面幾個(gè)方面:3.1.1技術(shù)上的可行性技術(shù)上可行性是分析我們的技術(shù)是否能夠滿足我們的系統(tǒng)開(kāi)發(fā),以及開(kāi)發(fā)者對(duì)軟件、硬件需求能否達(dá)到預(yù)期的需求等。貪吃蛇這款游戲,我們采用了java語(yǔ)言作為開(kāi)發(fā)工具,建圖采用圖形庫(kù)函數(shù),輔以算法演示。Java語(yǔ)言是面向結(jié)構(gòu)化程序設(shè)計(jì)的語(yǔ)言,它既具備高級(jí)語(yǔ)言高效率的實(shí)現(xiàn)又具備低級(jí)語(yǔ)言高效率的執(zhí)行。并且它有著豐富的數(shù)據(jù)類型和函數(shù)類型,它的修改、編輯都比較簡(jiǎn)單,代碼模化塊程度高,這對(duì)于擴(kuò)展和后期的修改非常有利。以上就是對(duì)本系統(tǒng)技術(shù)的可行性的分析,所以無(wú)論是從技術(shù)還是硬件設(shè)備方面,本系統(tǒng)都是滿足條件的,符合技術(shù)上的可行性。3.1.2運(yùn)行上的可行性貪吃蛇是一款非常簡(jiǎn)單的小游戲,基本上沒(méi)有多少資源損耗,自用的電腦就足以滿足開(kāi)發(fā)條件,滿足運(yùn)行的可行性。3.2設(shè)計(jì)思路貪吃蛇這款游戲是一款十分休閑益智類的游戲,源代碼的編譯采用TC2.0,其繼承環(huán)境中包含了所需的圖形驅(qū)動(dòng)文件。本程序中蛇身體的連接是采用數(shù)據(jù)結(jié)構(gòu)的鏈表來(lái)實(shí)現(xiàn)的,其蛇頭每次吃掉一個(gè)食物都會(huì)使得身體增長(zhǎng)一節(jié),所得的分?jǐn)?shù)等程序的信息會(huì)時(shí)刻被顯示在屏幕,所以,蛇身會(huì)隨著時(shí)間的推移越來(lái)越長(zhǎng),這個(gè)時(shí)候就要注意我們的蛇身,千萬(wàn)不要讓他碰撞到自己的蛇身或者撞到墻壁,否則,游戲就自動(dòng)結(jié)束,所以,這就增加了游戲的難度,形成一個(gè)關(guān)卡的效果,給人們帶來(lái)一種前所未有的體驗(yàn),當(dāng)然,其運(yùn)行速度與cpu速度也有關(guān)聯(lián)。游戲人機(jī)交互界面是否簡(jiǎn)潔,游戲過(guò)程中玩家可以開(kāi)動(dòng)腦筋,發(fā)揮自己的才智,讓蛇身變長(zhǎng),取的高分,十分適合閑暇時(shí)活動(dòng)腦筋,讓自己頭腦變的更靈活。是人們?cè)诠ぷ鞯目鄲篮蜕畹谋疾ǖ碾p重壓力下放松一下自己的身心,回歸身心,舒緩心靈。這也使得我們第二天也有著更大的動(dòng)力和信心,尤其是有著更舒緩的心情去面對(duì)工作,面對(duì)家庭,達(dá)到工作順利,家庭和睦的效果,這也是我們開(kāi)發(fā)游戲的初心。4框架設(shè)計(jì)4.1游戲設(shè)計(jì)的思想我們要利用我們所能掌握的現(xiàn)有資源,通過(guò)之前前輩們對(duì)游戲的開(kāi)發(fā)經(jīng)驗(yàn),同時(shí),我們要好好利用學(xué)校的有關(guān)方面的資源,把我們的精力最小化的放在尋找資源上,減少所需時(shí)間和空間,但是,也要保證這款游戲的開(kāi)發(fā)處在一個(gè)較高的水平和達(dá)到一個(gè)教好的應(yīng)用效果。用戶的需求是我們開(kāi)發(fā)這款游戲的首要出發(fā)點(diǎn),迄今為止,游戲仍然是我們當(dāng)下社會(huì)比較受歡迎和比較流行的一種娛樂(lè)方式,其他的方式與它相比,游戲的自身優(yōu)勢(shì)就很顯而易見(jiàn)了。類的應(yīng)用是本程序的主要方法和規(guī)律。我們可以通過(guò)掌握java語(yǔ)言的技巧來(lái)編寫(xiě)此程序,在提高我們編程水平的同時(shí)來(lái)增加對(duì)編程的興趣。同時(shí),也可以為我們的忙碌生活增添一抹清閑和娛樂(lè)。4.2游戲的功能設(shè)計(jì)一個(gè)清晰美觀的界面,我們?cè)谠O(shè)計(jì)的時(shí)候,用一個(gè)矩形區(qū)域作為游戲界面,貪吃蛇可以在矩形區(qū)域中可以吃食物和慢慢長(zhǎng)大。游戲開(kāi)始時(shí),蛇身加上頭部一共有3節(jié),蛇身用藍(lán)色小圓圈表示,每吃到一次食物,貪吃蛇的身體就會(huì)長(zhǎng)長(zhǎng)一節(jié)。同時(shí),我們得食物也是用一個(gè)黃色小圓圈代表,并且,食物因也是隨機(jī)出現(xiàn)的。玩家玩這款游戲的目的是讓貪吃蛇不斷的吃食物,讓蛇身不斷的變長(zhǎng),但這里我們要強(qiáng)調(diào)的是,玩家在操作游戲的同時(shí)切忌不能讓貪吃蛇碰到墻壁或者撞到自己的身體,如果這樣的話,那么游戲結(jié)束。4.3游戲設(shè)計(jì)方案4.3.1畫(huà)面設(shè)計(jì)關(guān)于面板,食物,貪吃蛇的設(shè)計(jì),采用了一些函數(shù),鏈表和庫(kù)函數(shù);對(duì)于整個(gè)畫(huà)面的啟動(dòng)問(wèn)題,還有就是整個(gè)畫(huà)面的繪制,我們采用的是黑色面板;4.3.2游戲過(guò)程貪吃蛇這款游戲主要的設(shè)計(jì)方向就是蛇和食物。游戲程序在eclipse中能否成功運(yùn)行的關(guān)鍵點(diǎn)就是在這個(gè)環(huán)節(jié)中有幾個(gè)極為重要的算法,這幾個(gè)算法在程序中起著極為重要的作用。其中幾個(gè)主要的程序包括蛇是如何吃到食物的;玩家是怎樣讓蛇身移動(dòng)的;游戲得分的增加和生命的增加;還有就是判斷蛇的死亡和游戲的停止等。4.3.3游戲結(jié)束包括兩個(gè)方面:貪吃蛇何時(shí)死亡;(2)貪吃蛇死亡的同時(shí)也就代表著游戲的結(jié)束;4.3.4功能添加我們?cè)谠O(shè)計(jì)的同時(shí)增加了背景音樂(lè),玩家可以在玩游戲的同時(shí),享受音樂(lè)帶來(lái)的樂(lè)趣,帶來(lái)不一樣的游戲體驗(yàn),進(jìn)入游戲世界的同時(shí),也進(jìn)入一種音樂(lè)世界,給玩家?guī)?lái)雙重體驗(yàn)感,讓玩家愛(ài)上這款游戲,并且達(dá)到可以讓玩家推薦給身邊人的效果。4.4游戲流程圖流程圖的制作是根據(jù)我們貪吃蛇這款小游戲的功能及各項(xiàng)過(guò)程配合來(lái)制作的,可以比較清楚的看到貪吃蛇小游戲的運(yùn)行過(guò)程和操作流程。之所以制作流程圖,也正是向大家展示貪吃蛇這款小游戲的整個(gè)框架,讓大家更直觀的去了解貪吃蛇這款小游戲并喜歡上它。開(kāi)始游戲初始化界面開(kāi)始游戲初始化界面游戲開(kāi)始運(yùn)行按鍵選擇游戲開(kāi)始運(yùn)行按鍵選擇蛇行進(jìn)方向?yàn)榘存I方向蛇正常行駛蛇行進(jìn)方向?yàn)榘存I方向蛇正常行駛蛇吃到食物蛇吃到食物蛇頭與蛇身交叉蛇頭與蛇身交叉蛇死亡蛇死亡玩家游戲結(jié)束玩家游戲結(jié)束圖4.4游戲流程圖5詳細(xì)設(shè)計(jì)5.1游戲具體過(guò)程函數(shù)SnakeFrame():游戲界面函數(shù)Food():食物構(gòu)建函數(shù)Music():構(gòu)建音樂(lè)函數(shù)If():貪吃蛇移動(dòng)函數(shù)5.2主要設(shè)計(jì)函數(shù)介紹5.2.1游戲界面設(shè)計(jì)函數(shù)本函數(shù)的目的就是設(shè)置主界面,主界面就是一個(gè)完全密封的矩形框,貪吃蛇能在矩形框里面上下左右移動(dòng),在框內(nèi)主要是食物和蛇,貪吃蛇碰到這個(gè)框的邊界就會(huì)死亡,也就意味著游戲結(jié)束。設(shè)計(jì)了面板的寬和高,并把面板裝載到窗體上。部分代碼如下:publicclassSnakeFrameextendsJFrame{ /** *程序入口-SnakeFrame */ privatestaticfinallongserialVersionUID=1L; //屬性 publicstaticfinalintWIDTH=900;/*面板的寬度*/ publicstaticfinalintHEIGHT=720;/*面板的高度*/ //構(gòu)造 publicSnakeFrame(){ setTitle("貪吃蛇");//設(shè)置標(biāo)題 setBounds(0,0,WIDTH,HEIGHT);//設(shè)置位置、大小 SnakePanelboli=newSnakePanel();//創(chuàng)建面板對(duì)象 add(boli);//把面板裝載到窗體上 setResizable(false);//設(shè)置窗體大小不可變 setVisible(true);//設(shè)置窗體的可見(jiàn) //設(shè)置當(dāng)窗體關(guān)閉時(shí),后臺(tái)程序也關(guān)閉 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }程序分析:主要是構(gòu)造了窗體的大小,位置,設(shè)置了窗體的大小不可變和當(dāng)窗體關(guān)閉時(shí),后臺(tái)程序也關(guān)閉,使得貪吃蛇有一個(gè)空間去活動(dòng),讓玩家有一個(gè)較大的空間去讓貪吃蛇的蛇身盡可能的變長(zhǎng),滿足玩家的游戲體驗(yàn)。5.2.2食物構(gòu)建函數(shù)食物函數(shù)主要是不斷的構(gòu)造食物,然后不斷的刷新食物所在的位置,貪吃蛇每吃到一次食物,食物就會(huì)自動(dòng)消失,這個(gè)時(shí)候,同樣的食物就會(huì)出現(xiàn)在游戲界面的另外一處地方,循環(huán)往復(fù),部分代碼如下:publicclassFood{ //屬性 intfoodx;//食物的x軸 intfoody;//食物的y軸 staticImagefoodImg;//靜態(tài) static{ foodImg=newImageIcon("src/tanchishe/food.png").getImage(); } //構(gòu)造 publicFood(){ foodx=(int)(Math.random()*34)*25+25;//隨機(jī)x軸 foody=(int)(Math.random()*24)*25+75;//隨機(jī)y軸 } //刷新食物位置的方法 publicvoidnewfood(){ foodx=(int)(Math.random()*34)*25+25;//刷新食物隨機(jī)x軸 foody=(int)(Math.random()*24)*25+75;//刷新食物隨機(jī)y軸 } }程序分析:主要先定義了食物的X軸和y軸,再用構(gòu)造食物函數(shù)設(shè)置食物,最后用刷新事物函數(shù)不斷刷新食物所出現(xiàn)位置。貪吃蛇吃到一截食物,身體就會(huì)長(zhǎng)長(zhǎng)一截,食物就會(huì)出現(xiàn)在游戲界面的另外一處地方,循環(huán)往復(fù)。5.2.3音樂(lè)函數(shù)使玩家在玩游戲的同時(shí)也能享受美妙的音樂(lè),舒緩身心,帶來(lái)不一樣的游戲體驗(yàn),部分代碼如下:publicclassMusic{ //構(gòu)造 AudioStreamas=null; publicMusic(){ try{ System.out.println(System.getProperty("user.dir")+"\\src\\tanchishe\\music.wav"); FileInputStreamfileau=newFileInputStream(System.getProperty("user.dir")+"\\src\\tanchishe\\music.wav"); try{ as=newAudioStream(fileau); }catch(IOExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } }catch(FileNotFoundExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace();//函數(shù) } } //播放音樂(lè) publicvoidstartit(){ AudioPlayer.player.start(as); } //刪除音樂(lè) publicvoidstopit(){ AudioPlayer.player.stop(as); }}程序分析:運(yùn)用了構(gòu)造音樂(lè)函數(shù),音樂(lè)開(kāi)始函數(shù),音樂(lè)刪除函數(shù),達(dá)到播放音樂(lè)和刪除音樂(lè)的效果,給玩家?guī)?lái)另一種游戲體驗(yàn)。5.2.4貪吃蛇移動(dòng)函數(shù)通過(guò)if函數(shù)使得貪吃蛇能在窗體內(nèi)來(lái)回的移動(dòng),通過(guò)控制鍵盤(pán)上的上下左右鍵來(lái)控制貪吃蛇的上下左右移動(dòng),操作簡(jiǎn)單易學(xué),部分代碼如下:if(isStarted&&!isFailed){ //移動(dòng)貪吃蛇身體(必須從后往前) for(inti=snake.len;i>0;i--)//for循環(huán){ snake.snakex[i]=snake.snakex[i-1]; snake.snakey[i]=snake.snakey[i-1]; } //移動(dòng)貪吃蛇頭并設(shè)定邊界(撞墻死版本) if(snake.state==1){//第一狀態(tài) snake.snakex[0]=snake.snakex[0]+25; if(snake.snakex[0]>=850) isFailed=true; }elseif(snake.state==2){//第二狀態(tài) snake.snakex[0]=snake.snakex[0]-25; if(snake.snakex[0]<=25) isFailed=true; }elseif(snake.state==3){//第三狀態(tài) snake.snakey[0]=snake.snakey[0]-25; if(snake.snakey[0]<=75) isFailed=true; }elseif(snake.state==4){//第四狀態(tài) snake.snakey[0]=snake.snakey[0]+25; if(snake.snakey[0]>=650) isFailed=true; }程序分析:通過(guò)for循環(huán)控制蛇身移動(dòng),移動(dòng)貪吃蛇頭并設(shè)定邊界(撞墻死版本),有四個(gè)不同的撞墻死狀態(tài),移動(dòng)貪吃蛇來(lái)吃蛇無(wú),從而達(dá)到讓貪吃蛇不斷變長(zhǎng)的目的。5.3其他函數(shù)代碼5.3.1貪吃蛇構(gòu)造代碼publicclassSnake{ //屬性 staticImagesnakeHeadImg;//貪吃蛇頭 staticImagesnakeBodyImg;//貪吃蛇身體 staticImageupImg;//上 staticImagedownImg;//下 staticImageleftImg;//左 staticImagerightImg;//右 int[]snakex=newint[1000];//貪吃蛇的x坐標(biāo) int[]snakey=newint[1000];//貪吃蛇的y坐標(biāo) intlen;//貪吃蛇的長(zhǎng)度 intstate;//貪吃蛇的方向:1右2左3上4下 intscore;//當(dāng)前分?jǐn)?shù) static{ upImg=newImageIcon("src/tanchishe/up.png").getImage();//向上圖片 downImg=newImageIcon("src/tanchishe/down.png").getImage();//向下圖片 leftImg=newImageIcon("src/tanchishe/left.png").getImage();//向左圖片 rightImg=newImageIcon("src/tanchishe/right.png").getImage();//向右圖片 snakeBodyImg=newImageIcon("src/tanchishe/snakebody.png").getImage();//蛇身圖片 }程序分析:靜態(tài)的上下左右并加上圖片,貪吃會(huì)舍得上下左右四種狀態(tài)5.3.2重新開(kāi)始貪吃蛇的代碼publicvoidnewsnake(){ snakeHeadImg=rightImg; len=3;//蛇身最初為3節(jié) state=1;//第一狀態(tài) score=0;//得分為0 snakex[0]=100;//x軸為100 snakey[0]=100;//y軸為100 snakex[1]=75;//x軸為100 snakey[1]=100;//y軸為100 snakex[2]=50;//x軸為100 snakey[2]=100;//y軸為100 }程序分析:重新開(kāi)始貪吃蛇函數(shù)最初的蛇身為3節(jié),最初的得分為0分,蛇重新出現(xiàn)的位置。5.3.3蛇頭切換的代碼publicvoidstep(){ if(state==1){ snakeHeadImg=rightImg;//第一個(gè)狀態(tài) }elseif(state==2){ snakeHeadImg=leftImg;//第二個(gè)狀態(tài) }elseif(state==3){ snakeHeadImg=upImg;/第三個(gè)狀態(tài) }elseif(state==4){ snakeHeadImg=downImg;//第四個(gè)狀態(tài) } }程序分析:通過(guò)四個(gè)if函數(shù)來(lái)判斷蛇頭的方向,出現(xiàn)4個(gè)狀態(tài),做出對(duì)應(yīng)的操作。5.3.4判斷吃到事物的代碼if(snake.snakex[0]==food.foodx&&snake.snakey[0]==food.foody){ snake.len++;//蛇身長(zhǎng)度加1 snake.score+=10;//分?jǐn)?shù)家10 food.newfood();//食物出現(xiàn)在另一個(gè)位置程序分析:通過(guò)if函數(shù)來(lái)判斷貪吃蛇是否吃到食物,若吃到食物則蛇身加1,分?jǐn)?shù)加判斷咬到自己死亡的代碼for(inti=1;i<snake.len;i++)//for循環(huán){ if(snake.snakex[0]==snake.snakex[i]&&snake.snakey[0]==snake.snakey[i])//食物x,y的位置 isFailed=true;//失敗 } repaint();程序分析:首先通過(guò)for循環(huán),然后也是通過(guò)if函數(shù)來(lái)判斷貪吃蛇在運(yùn)動(dòng)的過(guò)程當(dāng)中是否碰到蛇身,若碰到,則死亡,游戲結(jié)束。6運(yùn)行與測(cè)試6.1運(yùn)行程序(1)首先打開(kāi)eclipse開(kāi)發(fā)工具,分為五個(gè)類,將我們之前編寫(xiě)好的程序分別復(fù)制到每個(gè)類中,進(jìn)行編譯,如圖所示圖6.1(1)編譯由圖可知,代碼未發(fā)現(xiàn)錯(cuò)誤圖6.1(2)編譯無(wú)錯(cuò)誤點(diǎn)擊運(yùn)行按鈕,進(jìn)入界面,如圖所示圖6.1(3)開(kāi)始界面貪吃蛇死亡的同時(shí)也就意味著游戲的結(jié)束,游戲界面會(huì)出現(xiàn)“Gameover”的樣子。圖6.1(4)結(jié)束界面6.2程序的調(diào)試與測(cè)試我們要想發(fā)現(xiàn)錯(cuò)誤并且修正錯(cuò)誤只有通過(guò)程序的調(diào)試與測(cè)試。我們要經(jīng)過(guò)認(rèn)真的調(diào)試和測(cè)試才能保證一個(gè)程序的完美運(yùn)行,才能達(dá)到我們最初的設(shè)計(jì)要求,滿足客戶的需求,從而保證程序的開(kāi)發(fā)質(zhì)量。制定測(cè)試規(guī)劃??梢愿鶕?jù)程序運(yùn)行的具體情況,認(rèn)真分析程序運(yùn)行過(guò)程中每一步會(huì)發(fā)現(xiàn)的狀況,然后對(duì)每一種可能會(huì)出現(xiàn)的情況驚醒以個(gè)匯總,最后對(duì)其做出一份具體的測(cè)試方案。初步測(cè)試。按照之前去所制定好的規(guī)劃進(jìn)行調(diào)試,若發(fā)生其他特殊情況一定要做好記錄。測(cè)試結(jié)束之后對(duì)所記錄的情況進(jìn)行具體分析,然后做出改進(jìn)方案,再次進(jìn)行測(cè)試。深度測(cè)試。最后的測(cè)試,在確定所有故障都排除之后進(jìn)行一次整體的排查,知道不鉆出現(xiàn)特殊情況為止。設(shè)計(jì)完成后,用java語(yǔ)言根據(jù)各個(gè)類的函數(shù)設(shè)計(jì)程序,我們可以通過(guò)自定義函數(shù)來(lái)遍歷每一個(gè)模塊。構(gòu)成源程序文件就是將幾個(gè)函數(shù)放在一塊,一個(gè)源程序文件由一個(gè)模塊構(gòu)成。源程序設(shè)計(jì)好后,就可以存儲(chǔ)在計(jì)算機(jī)的磁盤(pán)當(dāng)中;之后我們分別對(duì)每一個(gè)源程序文件進(jìn)行簡(jiǎn)單的運(yùn)行和測(cè)試;接下來(lái)我們就可以對(duì)每一個(gè)模塊進(jìn)行相應(yīng)的單元測(cè)試;最后,組裝到一起,形成一個(gè)完整的程序,進(jìn)行最后的測(cè)試,在這個(gè)過(guò)程中,我們要發(fā)現(xiàn)一些之前沒(méi)有出現(xiàn)過(guò)的問(wèn)題并對(duì)他最初改正,達(dá)到最初所需的效果。6.3終止程序進(jìn)過(guò)所有的運(yùn)行和測(cè)試之后,進(jìn)行集成測(cè)試,測(cè)試內(nèi)容包括貪吃蛇的行動(dòng),得分,音樂(lè)等的功能,情況均較為正常,未發(fā)現(xiàn)錯(cuò)誤。貪吃蛇小游戲能夠按照游戲規(guī)則運(yùn)行。7總結(jié)編程是一個(gè)非常精細(xì)的工作,它面向的是一串一串的枯燥的代碼,任何細(xì)微的錯(cuò)誤都會(huì)影響程序的正確運(yùn)行,所以我們比較十分的細(xì)心。雖然過(guò)程十分辛苦和枯燥,但每當(dāng)編輯調(diào)試成功運(yùn)行后都會(huì)讓自己有一種成就感,經(jīng)過(guò)自己幾天的勤勞付出,終于有了一個(gè)美好的結(jié)果。這是一次java語(yǔ)言實(shí)踐運(yùn)用的機(jī)會(huì),是對(duì)自己能力的體現(xiàn),也是對(duì)自己耐心和細(xì)心的考驗(yàn)。在這次設(shè)計(jì)中,我主要應(yīng)用了5個(gè)不同的類來(lái)實(shí)現(xiàn)了貪吃蛇這款小游戲。自己做的這款貪吃蛇小游戲雖然是一個(gè)簡(jiǎn)單的游戲程序,但是在編程的過(guò)程中也是困難種種,對(duì)于一個(gè)初學(xué)者的來(lái)說(shuō)確實(shí)是一個(gè)小挑戰(zhàn),剛開(kāi)始編程時(shí)不知道從何下手,不知道該如何讓各個(gè)分散的區(qū)塊合成一個(gè)完整的成品,經(jīng)過(guò)后來(lái)幾天的查閱相關(guān)資料和復(fù)習(xí)自己以前學(xué)過(guò)的一些知識(shí)和借鑒一些他人的相關(guān)程序,終于理清了思緒,開(kāi)始著手編寫(xiě)程序。畢業(yè)設(shè)計(jì)是對(duì)我們畢業(yè)生全方面能力的考驗(yàn),是對(duì)我們大學(xué)學(xué)習(xí)的知識(shí)運(yùn)用到實(shí)踐中的體現(xiàn)。現(xiàn)代社會(huì)計(jì)算機(jī)技術(shù)已經(jīng)成為我們離不開(kāi)的東西,是信息時(shí)代的必要也十分重要的技術(shù),在這方面程序開(kāi)發(fā)便是實(shí)現(xiàn)計(jì)算機(jī)能力的重要手段,在眾多開(kāi)發(fā)語(yǔ)言中,java語(yǔ)言是十分常見(jiàn)又較為簡(jiǎn)單的,所以我覺(jué)得用java語(yǔ)言來(lái)開(kāi)發(fā)這款小游戲是一件十分有意義的事情,在這個(gè)過(guò)程中雖然遇到了許多問(wèn)題,但我通過(guò)請(qǐng)教他人和查閱資料很順利的解決了這些問(wèn)題,是自己在無(wú)形之中得到提升,也發(fā)現(xiàn)了自己的不足,例如指針,結(jié)構(gòu)體等。讓我重溫了這些知識(shí),也是對(duì)自己的提升。但是,也有些許的不足,在游戲界面的邊界部分,如果食物出現(xiàn)在界面邊界的時(shí)候貪吃蛇如果一碰到食物,那么貪吃蛇就會(huì)死亡,游戲結(jié)束,在這一方面沒(méi)有達(dá)到最初的設(shè)計(jì)目的,希望在后面的學(xué)習(xí)中能夠解決這一問(wèn)題。這次的畢業(yè)設(shè)計(jì),從程序設(shè)計(jì)再到程序開(kāi)發(fā)很好的鍛煉了我的個(gè)人能力,讓我對(duì)java語(yǔ)言又有了更多更全面的認(rèn)識(shí),在實(shí)踐中提升,這是個(gè)非常有效的手段,查漏補(bǔ)缺讓我的知識(shí)儲(chǔ)備更加全面?;仡欀皩W(xué)習(xí)的知識(shí),我發(fā)現(xiàn)無(wú)論學(xué)習(xí)哪種語(yǔ)言哪種計(jì)算機(jī)技術(shù),最有效最關(guān)鍵的還是在于實(shí)踐,光有書(shū)面知識(shí)遠(yuǎn)遠(yuǎn)不夠,實(shí)踐出真知。在學(xué)習(xí)計(jì)算機(jī)技術(shù)時(shí)是非常必要的,在實(shí)踐中提升,在實(shí)踐中創(chuàng)新,這才是向更好方向發(fā)展的重要道路,所以在今后的學(xué)習(xí)或者工作中,我會(huì)更加的去重視實(shí)踐。雖然畢業(yè)設(shè)計(jì)的過(guò)程是非常辛苦的,但是從中我們可以收獲快樂(lè)和喜悅,當(dāng)看到貪吃蛇在界面中來(lái)回運(yùn)動(dòng)時(shí),你會(huì)感覺(jué)一切都是值得的。如果給我更多的時(shí)間或者人力的話,我相信我可以在老師的幫助下加上游戲關(guān)卡的功能并解決邊界問(wèn)題。8致謝行文至此最后落筆之處,也意味著四年本科生涯即將結(jié)束。時(shí)光如白駒過(guò)隙,始于2016年初秋,終于2020年盛夏,目光所及,皆是回憶,心之所思,皆是過(guò)往。首先我要感謝在我成長(zhǎng)路上給予我?guī)椭拿恳粋€(gè)人,不是他們的教導(dǎo),我也不會(huì)懂得感動(dòng),在最近的幾個(gè)月里,我受到了成曉燕老師的悉心指導(dǎo),調(diào)整學(xué)識(shí)淵博,待人親和。在寫(xiě)作過(guò)程中創(chuàng)建了論文交流群,并發(fā)了模板讓我們參考,可以這么說(shuō),沒(méi)有成老師的悉心指導(dǎo),我就沒(méi)辦法完成論文的寫(xiě)作。倒是不僅教給我們提出問(wèn)題,分析問(wèn)題和發(fā)現(xiàn)問(wèn)題的能力,也教導(dǎo)了我們對(duì)待工作和生活的臺(tái)獨(dú)以及做人的道理,使我受益終生。在此,我要向成老師致以崇高的敬意和衷心的感謝!不負(fù)遇見(jiàn),不談虧欠。在我四年大學(xué)生涯中,每個(gè)人都是不可或缺的一部分,感謝那些不曾說(shuō)后悔的時(shí)光,謝謝你和什么都不懂的我一起成長(zhǎng),感謝陪伴。感謝大學(xué)四年里母校對(duì)我的悉心栽培,感謝專業(yè)老師的傾囊相授,使我受益終生。也感謝陪伴我四年的同窗們,和你們生活的這四年,我嘗試了很多新鮮事物,謝謝你們陪伴我,包容我。這段時(shí)光將是我人生最美好的回憶。最后,借此機(jī)會(huì),特別感謝含辛茹苦養(yǎng)育我的父母,這么多年的求學(xué)之路,都是他們?cè)诒澈竽刂С?,他們的無(wú)私奉獻(xiàn)和關(guān)愛(ài)是我前進(jìn)道路上的不懈動(dòng)力,祝愿我的家人身體健康,和睦美滿。楊絳先生說(shuō)過(guò)讀書(shū)不是為了文憑和發(fā)財(cái),而是成為一個(gè)有溫度,懂情趣,會(huì)思考的人,我堅(jiān)信讀書(shū)是為了就算跌入繁瑣,洗凈鉛華,同樣的工作卻有不同的心境,同樣的家庭卻有不同的情調(diào),路漫漫其修遠(yuǎn)兮,吾將上下而求索,也希望我在往后的生活工作學(xué)習(xí)中,能夠不忘初心一直勇敢的走下去。2020年的春節(jié)疫情虐神州大地,我在家里完成論文攥寫(xiě),感謝強(qiáng)大的祖國(guó),感謝這次疫情中“最美逆行者”美麗的白衣天使,保護(hù)我與家人的安全,才能讓我能夠安心在家完成論文,愿歷經(jīng)坎坷,山河無(wú)恙,人間皆可安。凌冬已過(guò),皓月常明,疫情終時(shí),這人間仍然星河滾燙,水木清華,江山如故。參考文獻(xiàn):[1]熊一利.一種基于Java的電子商務(wù)系統(tǒng)設(shè)計(jì)[J].科技廣場(chǎng),2015,10(06):30-33.[2]張玉孔.B2C型中小企業(yè)電子購(gòu)物系統(tǒng)的設(shè)計(jì)[J].商場(chǎng)現(xiàn)代化,2009,22(16):13-15.[3]閻新芳.Java設(shè)計(jì)模式在數(shù)據(jù)庫(kù)編程中的應(yīng)用研究[J].信息通信,2014,4(11):120-123.[4]陳亞探.Struts2+Spring+Hiberna框架技術(shù)與項(xiàng)目實(shí)戰(zhàn)[M].北京:清華大學(xué)出版社,2012.[5]王國(guó)輝.JavaWeb編程寶典:十年典藏版[M].北京:人民郵電出版社,2011.[6]李剛.輕量級(jí)J2EE企業(yè)應(yīng)用實(shí)戰(zhàn)[M].北京:電子工業(yè)出版社,2007.[7]張琳娜.Java多態(tài)性機(jī)制應(yīng)用研究[J].攀枝花學(xué)院學(xué)報(bào),2016,14(02):25-28.[8]馬運(yùn)濤.Eclipse精要與高級(jí)開(kāi)發(fā)技術(shù)[D].北京:電子工業(yè)出版社,2007.[9]吳鋒.基于SSH框架JavaEE技術(shù)研究[D].安徽:合肥工業(yè)大學(xué),2009.[10]王向兵.JavaEE多層架構(gòu)Struts2+Spring3+Hibemnate3+Ajax的整合[D].大連:大連海事大學(xué),2009.[11]趙利慶.JavaWeb架構(gòu)中數(shù)據(jù)庫(kù)優(yōu)化模式的研究與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2015.[12]謝世波.J2EE數(shù)據(jù)持久層的解決方案[J].計(jì)算機(jī)工程,2003,6(22):93-95.[13]楊靜.基于JAVAWEB中MVC模式的研究與應(yīng)用[J].電腦知識(shí)與技術(shù),2014,9(28):68-71.[14]李孟燃.網(wǎng)頁(yè)設(shè)計(jì)中計(jì)算機(jī)多媒體技術(shù)的應(yīng)用[J].計(jì)算機(jī)光盤(pán)軟件與應(yīng)用,2014,6(12):55-57.[15]李國(guó)娟.基于JavaEE架構(gòu)的網(wǎng)上購(gòu)物系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].河北:河北工業(yè)大學(xué),2011.[16]孫衛(wèi)琴.Tomcat與JavaWeb開(kāi)發(fā)技術(shù)詳解(第2版)[M].北京:電子工業(yè)出版社,2009.[17]閭燕.基于用戶體驗(yàn)的購(gòu)物網(wǎng)站界面設(shè)計(jì)研究[J].中國(guó)包裝工業(yè),2014,11(16):19-20.[18]林寒超.Hibernate技術(shù)的研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2006,16(11):112-113.[19]畢建信,基于MVC設(shè)計(jì)模式WEB應(yīng)用研究與實(shí)現(xiàn)[D].武漢:武漢理工大學(xué),2006.[20]陳雄華.Spring企業(yè)級(jí)應(yīng)用開(kāi)發(fā)詳解[M].北京:電子工業(yè)出版社,2009.[21]霍斯特曼科內(nèi)爾.Java核心技術(shù)[M].北京:機(jī)械工業(yè)出版社,2014.
電腦無(wú)法識(shí)別U盤(pán)該怎么辦HYPERLINK電腦無(wú)法識(shí)別U盤(pán)怎么辦?打開(kāi)我的電腦上單擊右鍵,在快捷菜單里,選擇“管理”,打開(kāi)“計(jì)算機(jī)管理”窗口。在計(jì)算機(jī)管理窗口里,選擇“存儲(chǔ)”下面的“磁盤(pán)管理”,如果看得到?jīng)]有盤(pán)符的U盤(pán),那么在這個(gè)U盤(pán)上按鼠標(biāo)右鍵,選擇“更改驅(qū)動(dòng)器名稱和路徑”選項(xiàng),就打開(kāi)了“更改……的驅(qū)動(dòng)器號(hào)和路徑”對(duì)話框。再點(diǎn)擊“更改”按鈕,打開(kāi)“更改驅(qū)動(dòng)器號(hào)和路徑”的對(duì)話框,在“指定以下驅(qū)動(dòng)器號(hào)”的右邊下拉列表里,選擇你希望分配給U盤(pán)的驅(qū)動(dòng)器號(hào),盡可能靠后選擇,比如X、Y、Z,選擇好后,單擊確定按鈕,回到上一次“更改……的驅(qū)動(dòng)器號(hào)和路徑”對(duì)話框窗口,再一次單擊確定,就回到“計(jì)算機(jī)管理”窗口。至此,如果一切正常,就給U盤(pán)單獨(dú)設(shè)置了一個(gè)長(zhǎng)久使用的驅(qū)動(dòng)器號(hào),并卻,不受虛擬驅(qū)動(dòng)器的影響了。建議將U盤(pán)插到電腦上,看任務(wù)欄中是否顯示圖標(biāo),如果顯示,在我的電腦點(diǎn)右鍵查看屬性——高級(jí)——硬件——設(shè)備管理器——查看里面是否有問(wèn)號(hào)的設(shè)備,在問(wèn)號(hào)設(shè)備上點(diǎn)右鍵——更新驅(qū)動(dòng)程序然后下一步——否暫時(shí)不連接到網(wǎng)絡(luò)——下一步自動(dòng)安裝軟件(推薦)就可以了另外:系統(tǒng)不認(rèn)U盤(pán)的幾種處理方法1.禁用主板usb設(shè)備。管理員在CMOS設(shè)置里將USB設(shè)備禁用,并且設(shè)置BIOS密碼,這樣U盤(pán)插到電腦上以后,電腦也不會(huì)識(shí)別。這種方法有它的局限性,就是不僅禁用了U盤(pán),同時(shí)也禁用了其他的usb設(shè)備,比如usb鼠標(biāo),usb光驅(qū)等。所以這種方法管理員一般不會(huì)用,除非這臺(tái)電腦非常重要,值得他舍棄掉整個(gè)usb總線的功能。但是這種屏蔽也可以破解,即便設(shè)置了密碼。整個(gè)BIOS設(shè)置都存放在CMOS芯片里,而COMS的記憶作用是靠主板上的一個(gè)電容供電的。電容的電來(lái)源于主板電池,所以,只要把主板電池卸下來(lái),用一根導(dǎo)線將原來(lái)裝電池的地方正負(fù)極短接,瞬間就能清空整個(gè)CMOS設(shè)置,包括BIOS的密碼。隨后只需安回電池,自己重新設(shè)置一下CMOS,就可以使用usb設(shè)備了。(當(dāng)然,這需要打開(kāi)機(jī)箱,一般眾目睽睽之下不大適用~~)2.修改注冊(cè)表項(xiàng),禁用usb移動(dòng)存儲(chǔ)設(shè)備。打開(kāi)注冊(cè)表文件,依次展開(kāi)"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbehci”雙擊右面的“Start”鍵,把編輯窗口中的“數(shù)值數(shù)據(jù)”改為“4”,把基數(shù)選擇為“十六進(jìn)制”就可以了。改好后注銷一下就可以看見(jiàn)效果了。為了防止別人用相同的方法來(lái)破解,我們可以刪除或者改名注冊(cè)表編輯器程序。提示:“Start”這個(gè)鍵是USB設(shè)備的工作開(kāi)關(guān),默認(rèn)設(shè)置為“3”表示手動(dòng),“2”是表示自動(dòng),“4”是表示停用。3.在computermanagement里將removablestorage的使用權(quán)限禁止。computermanagement是一個(gè)windows管理組件,可以在控制面板——管理工具——計(jì)算機(jī)管理打開(kāi)。在該工具窗口中storage——removablestorage——property中,general項(xiàng),可以控制系統(tǒng)托盤(pán)是否顯示security則可以管理移動(dòng)存儲(chǔ)設(shè)備的使用權(quán)限。在security中將普通用戶的使用權(quán)限降低,就可以達(dá)到禁用u盤(pán)的目的。破解的方法也很簡(jiǎn)單,管理員降低普通用戶移動(dòng)存儲(chǔ)設(shè)備的使用權(quán)限,但未必禁用computermanagement的使用權(quán)限。普通用戶可以通過(guò)這個(gè)工具解除usb移動(dòng)存儲(chǔ)設(shè)備的使用權(quán)限限制。另外,值得一提的是,如果u盤(pán)插到電腦上后可以驅(qū)動(dòng),但是我的電腦里卻沒(méi)有盤(pán)符,很有可能是管理員改動(dòng)了u盤(pán)的默認(rèn)盤(pán)符,使得我的電腦不能識(shí)別。這種情況,可以在movablestorage中看到u盤(pán)驅(qū)動(dòng)器??梢栽趗盤(pán)驅(qū)動(dòng)器屬性設(shè)置里為u盤(pán)重新分配一個(gè)盤(pán)符,再重新插拔一次u盤(pán),就可以在我的電腦里看到u盤(pán)的盤(pán)符了。一、首先可以將該U盤(pán)換到別的機(jī)器上,看使用是否正常。如果排除了硬件損壞的可能,一般就是軟件方面有問(wèn)題。在WindowsXP+SP1操作系統(tǒng)下,有些USB2.0設(shè)備的確常常出現(xiàn)工作不穩(wěn)定的問(wèn)題,可以試試安裝設(shè)備自帶的USB2.0驅(qū)動(dòng)程序。另外最好不要使用USB延長(zhǎng)線,防止因?yàn)楣╇姴蛔愣斐刹环€(wěn)定現(xiàn)象。如果仍無(wú)效,可以在主板BIOS設(shè)定中,將USB接口強(qiáng)行設(shè)置為USB1.1傳輸速率。二、(適用于WIN98)啟動(dòng)計(jì)算機(jī),進(jìn)入主板BIOS設(shè)置,檢查BIOS中USB的相關(guān)選項(xiàng)是否已經(jīng)打開(kāi):OnChipUSB設(shè)定為Enabled;USBController設(shè)定為Enabled;PNPOSInstalled設(shè)定為Yes;AssignIRQForUSB設(shè)成Enabled。要正常使用USB設(shè)備首先要開(kāi)啟USB接口,在主板BIOS里可以進(jìn)行此項(xiàng)工作,一般來(lái)說(shuō)只需在BIOS中進(jìn)入ChipsetFeatures設(shè)置,并將USBKeyborad/MouseLegacy選項(xiàng)設(shè)定為Enable,就能夠保證在操作系統(tǒng)下使用USB鍵盤(pán)了。這些選項(xiàng)的作用是打開(kāi)主板芯片組對(duì)USB設(shè)備的完全支持,為系統(tǒng)識(shí)別USB設(shè)備做準(zhǔn)備工作。三、USB口接觸不好處理辦法:拔下,等十秒鐘再插上USB口,使接觸完好;五、閃存盤(pán)驅(qū)動(dòng)程序沒(méi)有安裝完成(WIN98系統(tǒng)下)處理辦法:鼠標(biāo)點(diǎn)“我的電腦”,選擇屬性找到“通用串行總線”,刪除其中的USBMASSSTORAGE項(xiàng),再點(diǎn)擊“刷新”,然后按照提示重新安裝一次驅(qū)動(dòng)程序。六、接其它USB設(shè)備(如掃描儀、打印機(jī)、數(shù)碼相機(jī))時(shí)可以正常使用,接優(yōu)盤(pán)時(shí)閃指示燈不亮,不能夠使用。1、檢查優(yōu)盤(pán)與電腦的聯(lián)接是否正常,并換用其它USB接口測(cè)試。2、檢查設(shè)備管理器,看是否出現(xiàn)”通用總線設(shè)備控制器”條目,如果沒(méi)有,請(qǐng)將電腦主板BIOS中USB接口條目*激活(ENABLE)。3、如果電腦安裝過(guò)其它類型USB設(shè)備,卸載該設(shè)備驅(qū)動(dòng)程序,并首先安裝優(yōu)盤(pán)驅(qū)動(dòng)程序。4、到其它電腦試用此優(yōu)盤(pán),確認(rèn)是否優(yōu)盤(pán)不良。七、啟動(dòng)型優(yōu)盤(pán)在的電腦上無(wú)法實(shí)現(xiàn)啟動(dòng),可能是主板型號(hào)不支持。如何判斷一塊主板是否支持閃存盤(pán)啟動(dòng)系統(tǒng)啟動(dòng)型優(yōu)盤(pán)是采用模擬USB軟驅(qū)和USB硬盤(pán)的方式啟動(dòng)電腦的。只要電腦主板支持USB設(shè)備啟動(dòng),即BIOS的啟動(dòng)選項(xiàng)中有USB-FDD、USB-HDD或是其它類似的選項(xiàng),就可以使用啟動(dòng)型優(yōu)盤(pán)啟動(dòng)電腦。八、第一次在電腦上使用優(yōu)盤(pán),未出現(xiàn)提示發(fā)現(xiàn)新硬件的窗口,驅(qū)動(dòng)程序無(wú)法安裝的原因可能是:1、主板usbcontroller未啟用解決辦法:在電腦主板BIOS中啟用此功能。2、usbcontroller已經(jīng)啟用但運(yùn)行不正常解決辦法:在設(shè)備管理器中刪除”通用串行控制器”下的相關(guān)設(shè)備并刷新。3、優(yōu)盤(pán)被電腦識(shí)別異常,在設(shè)備管理器中表現(xiàn)為帶有黃色?或!的”其它設(shè)備”或“未知設(shè)備”。解決辦法:刪除此設(shè)備并刷新。九、大容量的U盤(pán)(例如兼具M(jìn)P3播放器或錄音功能的U盤(pán))或移動(dòng)硬盤(pán)在電腦上無(wú)法正常使用,雖然系統(tǒng)提示找到了未知的USB設(shè)備,但無(wú)法正確識(shí)別U盤(pán)或移動(dòng)硬盤(pán)。原因可能是:1.USB接口供電不足:系統(tǒng)為每個(gè)USB接口分配了500mA的最大輸出電流,一般的U盤(pán)只需要100mA的工作電流,因此在使用過(guò)程中不會(huì)出現(xiàn)什么問(wèn)題。大多數(shù)移動(dòng)硬盤(pán)所使用的是普通的2.5英寸硬盤(pán),其工作電流介于500mA~1000mA之間,此時(shí)假如僅僅通過(guò)USB接口供電,當(dāng)系統(tǒng)中并無(wú)其他USB設(shè)備時(shí),那么還是可以勉強(qiáng)使用的,但如果電壓不穩(wěn)的話,就隨時(shí)可能出現(xiàn)供電不足的問(wèn)題。特別是使用支持USB2.0的移動(dòng)硬盤(pán)時(shí),情況最為嚴(yán)重。另外,如果你的筆記本電腦使用電池供電,那么USB接口所分配的電量就更小了。2.使用了外接的USB擴(kuò)展卡:在筆記本電腦中使用USB2.0的U盤(pán)或移動(dòng)硬盤(pán)時(shí),如果筆記本電腦不支持USB2.0技術(shù),一般必須通過(guò)PCMCIA卡轉(zhuǎn)USB2.0的擴(kuò)展卡來(lái)間接實(shí)現(xiàn)支持,這些擴(kuò)展卡基本上都采用NEC公司的D720100AGMUSB控制芯片,少則提供兩個(gè)USB2.0接口,多則提供五個(gè)USB2.0接口,對(duì)一般用戶而言足夠使用了。由于PCMICA接口提供的電源功率比板載USB接口要小,這樣就會(huì)由于供電不足而導(dǎo)致移動(dòng)硬盤(pán)工作的出現(xiàn)問(wèn)題。解決方案:1.它從USB連接線上接移動(dòng)硬盤(pán)的一端引出一根轉(zhuǎn)接線,可以插入電腦背后的PS/2接口取電,這里可以比USB接口提供更大的電流輸出。2.利用電源補(bǔ)償線(也稱“鍵盤(pán)取電線”),如果U盤(pán)或移動(dòng)硬盤(pán)的包裝盒中提供了選配的電源適配器,你就可以直接使用外接電源,這樣就可以從根本上避免供電不足的情況發(fā)生了前置USB線接錯(cuò)。當(dāng)主板上的USB線和機(jī)箱上的前置USB接口對(duì)應(yīng)相接時(shí)把正負(fù)接反就會(huì)發(fā)生這類故障,這也是相當(dāng)危險(xiǎn)的,因?yàn)檎?fù)接反很可能會(huì)使得USB設(shè)備燒毀。所以盡量采用機(jī)箱后置的USB接口,也少用延長(zhǎng)線.也可能是斷口有問(wèn)題,換個(gè)USB端口看下.USB接口電壓不足。當(dāng)把<ahref="mobileharddisk">移動(dòng)硬盤(pán)</a>接在前置USB口上時(shí)就有可能發(fā)生系統(tǒng)無(wú)法識(shí)別出設(shè)備的故障。原因是<ahref="">移動(dòng)硬盤(pán)</a>功率比較大要求電壓相對(duì)比較嚴(yán)格,前置接口可能無(wú)法提供足夠的電壓,當(dāng)然劣質(zhì)的電源也可能會(huì)造成這個(gè)問(wèn)題。解決方法是<ahref="">移動(dòng)硬盤(pán)</a>不要接在前置USB接口上,更換劣質(zhì)低功率的電源或盡量使用外接電源的硬盤(pán)盒,假如有條件的話。主板和系統(tǒng)的兼容性問(wèn)題。呵呵這類故障中最著名的就是NF2主板與USB的兼容性問(wèn)題。假如你是在NF2的主板上碰到這個(gè)問(wèn)題的話,則可以先安裝最新的nForce2專用USB2.0驅(qū)動(dòng)和補(bǔ)丁、最新的主板補(bǔ)丁和操作系統(tǒng)補(bǔ)丁,還是不行的話嘗試著刷新一下主板的BIOS一般都能解決。系統(tǒng)或BIOS問(wèn)題。當(dāng)你在BIOS或操作系統(tǒng)中禁用了USB時(shí)就會(huì)發(fā)生USB設(shè)備無(wú)法在系統(tǒng)中識(shí)別。解決方法是開(kāi)啟與USB設(shè)備相關(guān)的選項(xiàng)。就是開(kāi)機(jī)按F2或DEL鍵,進(jìn)入BIOS,把enableusbdevice選擇enable。拔插要小心,讀寫(xiě)時(shí)千萬(wàn)不可拔出,不然有可能燒毀芯片。XP中任務(wù)欄中多出USB設(shè)備的圖標(biāo),打開(kāi)該圖標(biāo)就會(huì)在列表中顯示U盤(pán)設(shè)備,選擇將該設(shè)備停用,然后你再拔出設(shè)備,這樣會(huì)比較安全。
其實(shí)判斷軟件硬件問(wèn)題很簡(jiǎn)單,在別的機(jī)器或換個(gè)系統(tǒng)試試就可以了.有些小的問(wèn)題不妨先用專門軟件格式化下.還有提醒大家WINDOWS下格式化時(shí)要選擇FAT,不要選FAT32。
提示無(wú)法識(shí)別的USB設(shè)備維修
故障提示如圖:
無(wú)法識(shí)別的USB設(shè)備:UnknownUSBDevice.很多人都遇到過(guò)的一個(gè)問(wèn)題,所謂“無(wú)法識(shí)別”對(duì)于操作系統(tǒng)來(lái)說(shuō),或者是驅(qū)動(dòng)程度有問(wèn)題,或者是USB設(shè)備出現(xiàn)了問(wèn)題,或者是計(jì)算機(jī)與USB設(shè)備連接出現(xiàn)了故障,解決問(wèn)題的方法也是從這幾處著手。
對(duì)于不同的設(shè)備會(huì)有不同的處理方法,了解USB設(shè)備正常工作需要的條件以及一些可能影響USB設(shè)備正常工作的因素,會(huì)有助于解決問(wèn)題。
下面是保證USB設(shè)備可以正常工作的一些條件:(1)USB設(shè)備本身沒(méi)有任何問(wèn)題——可以通過(guò)在其它計(jì)算機(jī)上進(jìn)行測(cè)試,保證能正常工作;(2)USB接口沒(méi)有任何問(wèn)題——可以通過(guò)連接其它的USB設(shè)備在此接口上進(jìn)行測(cè)試;(3)USB設(shè)備的驅(qū)動(dòng)程序已經(jīng)正確安裝,如果有詳細(xì)說(shuō)明書(shū)的USB設(shè)備,一定要仔細(xì)查看相應(yīng)的說(shuō)明文件,按照說(shuō)明安裝相應(yīng)的驅(qū)動(dòng)程序;Windows2000以后的操作系統(tǒng)以識(shí)別大部分
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年廣告發(fā)布保密協(xié)議
- 2024年地球衛(wèi)星數(shù)據(jù)共享協(xié)議
- 2024年臨時(shí)建筑拆除工程質(zhì)量保證協(xié)議
- 2024年工程環(huán)境保護(hù)合同
- 2024年工程承包合同標(biāo)的及工程范圍
- 2024年室內(nèi)裝修采購(gòu)合同:工程使用
- 2024年平房及附屬物買賣協(xié)議
- 2024年公共交通票價(jià)調(diào)整及服務(wù)合同
- 2024年工程設(shè)備租賃與安全操作合同
- 2024年出口海運(yùn)代理業(yè)務(wù)協(xié)議
- 河道整治護(hù)岸施工方案
- 《尋訪小動(dòng)物》ppt課件
- 寧波市建設(shè)工程資料統(tǒng)一用表(2022版)1 通用分冊(cè)
- 沙鋼高爐及熱風(fēng)爐砌筑總施工組織設(shè)計(jì)
- 義烏中學(xué)浙江省物理學(xué)科基地
- 教師資格證考試《生物學(xué)科知識(shí)與教學(xué)能力》(初級(jí)中學(xué))學(xué)科知識(shí)細(xì)胞
- 棧道棧橋工程施工組織設(shè)計(jì)
- 電脫鹽成套技術(shù)介紹
- 搬運(yùn)作業(yè)人員安全培訓(xùn)PPT課件
- 皮帶通廊及皮帶機(jī)施工方案
- 高端自動(dòng)鋪帶機(jī)
評(píng)論
0/150
提交評(píng)論