張宏宇
摘要:隨著時代的進(jìn)步和科技的發(fā)展,人們對于計(jì)算機(jī)的學(xué)習(xí)越來越重視,這就對高校相應(yīng)的計(jì)算機(jī)教學(xué)提出了一定的要求。對于一般高校中的Java程序設(shè)計(jì)相關(guān)課程,它的開發(fā)和具體實(shí)施之間存在著一定的矛盾和聯(lián)系,我們從中設(shè)計(jì)相應(yīng)的教學(xué)包括理論知識講解和穿插一定的游戲講解內(nèi)容,主要是來探討如何培養(yǎng)學(xué)生的理論能力、分析能力、開發(fā)能力和實(shí)踐能力。
關(guān)鍵詞:Java;教學(xué);理論;游戲
中圖分類號:TP311 ? ? ? ? ? ?文獻(xiàn)標(biāo)識碼:A
Java相關(guān)課程的學(xué)習(xí)具有一定的難度,它的知識點(diǎn)比較繁雜,有些理論也相對枯燥,這就要求我們在Java的教學(xué)設(shè)計(jì)過程中采取一定的方法來讓學(xué)生產(chǎn)生學(xué)習(xí)興趣,游戲開發(fā)教學(xué)就是一個很好的教學(xué)設(shè)計(jì)。
1 教學(xué)設(shè)想及開發(fā)工具
1.1 教學(xué)設(shè)想
由于實(shí)驗(yàn)教學(xué)內(nèi)容主要是真實(shí)的操作案例,所以構(gòu)建此次課程需要掌握和理解軟件開發(fā)和編程的一些相關(guān)知識和生產(chǎn)情況,以及具體的實(shí)踐任務(wù),應(yīng)該對此進(jìn)行合理安排,合理組織教學(xué)內(nèi)容,形成完整的知識體系和組織體系。其中具體目標(biāo)就是:了解本課題的教學(xué)目標(biāo)和教學(xué)內(nèi)容及教學(xué)方法;了解Java語言的游戲構(gòu)架、Java語言的運(yùn)行機(jī)制、Java語言的程序開發(fā)流程和相應(yīng)的Java語言的開發(fā)有關(guān)平臺;掌握J(rèn)ava使用平臺的方法和技巧[1]。
隨著科學(xué)技術(shù)的發(fā)展,越來越多的電子產(chǎn)品出現(xiàn)在我們的日常生活中,這也使得當(dāng)前學(xué)生們都對游戲類軟件具有一定的傾向,所以選取學(xué)生們感興趣的教學(xué)方式能夠增加教學(xué)的整體效果。本文就針對“游戲開發(fā)”的Java語言教學(xué)進(jìn)行說明。
1.2 開發(fā)工具及Java簡介
開發(fā)工具包括JCreator Por、JDK、Eclipse、SQL Server 2008等。Java語言是一門編程語言,也是一個實(shí)現(xiàn)平臺。Java語言不同與其他語言,Java語言既是編譯型語言又是解釋型語言。而在此過程中編譯只進(jìn)行一次,而解釋則在程序每次運(yùn)行時都會進(jìn)行。Java平臺是一個軟件平臺,并且它還有多個版本。我們可以根據(jù)項(xiàng)目的大小、應(yīng)用領(lǐng)域等方面進(jìn)行選擇,它的應(yīng)用領(lǐng)域包括各種移動設(shè)備和嵌入設(shè)備等都被廣泛使用。對于第一次使用Java語言編程的人來說,制造Java編程環(huán)境是首要工作,具體方法是在桌面上用鼠標(biāo)右擊“我的電腦”→“屬性”→“高級”→“環(huán)境變量”看到Path:系統(tǒng)在任何路徑下都可以識別Java命令。設(shè)置好了Java環(huán)境變量就可以進(jìn)行相應(yīng)的Java語言編寫。
2 國內(nèi)外相關(guān)研究內(nèi)容
2.1 相關(guān)背景
從2011年起,小游戲就逐漸成了一個熱門,深受廣大市民的喜愛,它具有緩存快、內(nèi)容簡單、容易理解、上手快等特點(diǎn),并且對于不同的人群都具有可接受性,尤其是受到青少年群體的喜愛和追捧。而隨著時代的發(fā)展,小游戲也不斷的進(jìn)行創(chuàng)新和改革,針對不同的受眾存在著不同的福利,它可以滿足多數(shù)人的游戲感受和相應(yīng)界面的需求,也可以幫助人們通過小游戲更加深入地了解和學(xué)習(xí)相關(guān)的編程知識,在一些網(wǎng)站中還存在免費(fèi)的編程教學(xué)素材。
2.2 國內(nèi)外發(fā)展前景
在國內(nèi),網(wǎng)頁小游戲一直都在互聯(lián)網(wǎng)市場占據(jù)有一席之位。它界面整潔、不需要讓用戶下載客戶端、用法方便、不需要支付較多的費(fèi)用等,都是它擁有大量應(yīng)用者的重要條件。當(dāng)然,網(wǎng)頁小游戲也具有一定的缺陷,如它具有一定的依賴性,大多功能都是由服務(wù)器來實(shí)現(xiàn)的,缺乏一定的表現(xiàn)力。
在國外,網(wǎng)頁游戲的受歡迎程度是要遠(yuǎn)超過一般網(wǎng)站的,有數(shù)據(jù)表明,雖然網(wǎng)絡(luò)視頻和社交網(wǎng)站在美國市場非?;鸨鼈冞€是不如網(wǎng)頁游戲更得受眾的支持和喜愛,由此可見,小游戲也可以在國外得到較好的發(fā)展。
近年來,人們發(fā)現(xiàn)網(wǎng)頁游戲慢慢的由Flash向Java進(jìn)行轉(zhuǎn)變,從而也能讓更多的瀏覽器支持,這也預(yù)示著我們同時也需要相應(yīng)的人才投身于這種大方向的發(fā)展。中國市場是一個大市場,它支持所有有活力、有發(fā)展的好產(chǎn)品在市場中活躍,再加之用戶之廣,網(wǎng)頁游戲在網(wǎng)頁市場中的發(fā)展前景不容小覷,而其中的核心Java技術(shù)更是將來網(wǎng)頁游戲發(fā)展的重中之重[2]。
3 可行性及需求分析
3.1 技術(shù)可行性
Java技術(shù)的核心是它是一種面向?qū)ο蟮募夹g(shù)。這種技術(shù)方法要求語言必須具備封裝、多態(tài)性和繼承性的特點(diǎn)。而每個對象都存在著自己的主觀和客觀規(guī)律,不同對象間的相互關(guān)系就構(gòu)成了各種不同的系統(tǒng),這就是面向?qū)ο蟮某绦蛟O(shè)計(jì),同時也是Java語言與C++語言相比而選擇Java語言的一個關(guān)鍵點(diǎn),Java語言更適合于網(wǎng)頁游戲的編寫。
3.2 操作可行性
本文所提的網(wǎng)頁小游戲設(shè)置需要在頁面上進(jìn)行展開,所以開發(fā)者通常會選擇順應(yīng)當(dāng)前需求的開發(fā)工具進(jìn)行研發(fā)。而用戶這邊也可以利用Eclipse等途徑來獲得自己所需要的開發(fā)工具,更利于操作。
3.3 需求分析
對頁面游戲或相應(yīng)軟件的需求分析就是通過數(shù)據(jù)調(diào)查來建立相應(yīng)的體系和模型從而展現(xiàn)出開發(fā)技術(shù)人員和真實(shí)用戶之間的一定關(guān)系。這樣更有利于展現(xiàn)出體系的透明度,便于人員的管理和制度的維護(hù)。而且更有利于向用戶展現(xiàn)出具體成果來取得相應(yīng)的進(jìn)步。
需求分析其中重要的一點(diǎn)就是要注意游戲需求,首先要保證一個好的界面來加強(qiáng)用戶的良好體驗(yàn)感,如貪吃蛇這個游戲就采用了簡單且不花哨的頁面,不僅很好地突出了游戲玩法,而且并不存在沖突感,使用戶更容易接受。其次要注意游戲的操作需求,可以采用簡單的鼠標(biāo)點(diǎn)擊發(fā)、鍵盤操作法和鼠標(biāo)鍵盤合作操作法等簡單易上手的方法。例如貪吃蛇通過鍵盤上面的方向鍵來控制前進(jìn)方向從而獲得相應(yīng)的得分。最后就是通過設(shè)計(jì)一些簡單道具來增加頁面游戲的趣味性,就像貪吃蛇游戲中通過設(shè)置一些加分減分或淘汰的小道具來增加它的游戲效果,減少枯燥感,獲取更多用戶體驗(yàn)。
還有一點(diǎn)就是編程環(huán)境的分析,要獲得一個頁面游戲的開發(fā),不僅需要一個好的整體設(shè)計(jì),更需要一個強(qiáng)大的制作體系。游戲開發(fā)中的基礎(chǔ)便是選擇一個好的研發(fā)平臺和研發(fā)團(tuán)隊(duì)。對于編程語言來說,Java語言是一個好的選擇,所以在選擇開發(fā)環(huán)境的時候,要選擇320 GB以上的硬盤、512 M以上的內(nèi)存、256 M以上的顯存和2.0處理器以上的CPU來作為編程的基本硬件需求,而軟件需求大多都是符合要求的。只有軟硬件的基礎(chǔ)打好了,編譯過程才能夠更加順利的完成[3]。
4 詳細(xì)設(shè)計(jì)
主要的整體設(shè)計(jì)包括主頁面的設(shè)計(jì)、各結(jié)構(gòu)模塊設(shè)計(jì)及音樂和畫面融合設(shè)計(jì)。首先主頁面的設(shè)計(jì)要求是主頁面內(nèi)容應(yīng)該積極健康,色彩選擇應(yīng)該依據(jù)人體正常的視覺習(xí)慣來進(jìn)行選擇,如貪吃蛇,可選擇黑色的背景、棕色的蛇、白色的食物這種讓人產(chǎn)生視覺舒適的顏色來進(jìn)行設(shè)計(jì),而且拿純黑色來做背景也會顯示出游戲空間的擴(kuò)張,通過游戲關(guān)卡的逐漸增多也可以加一些類似磚墻顏色的阻擋道具等來增加其趣味性。當(dāng)然在游戲過程中也可以在界面的上下左右任一側(cè)顯示得分和排名的情況來使整個頁面更加完整。其次各結(jié)構(gòu)模塊設(shè)計(jì),不論是小蛇、大蛇、道具、食物還是運(yùn)動軌跡,其實(shí)都擁有自己的代碼,這就要求相關(guān)的技術(shù)人員來進(jìn)行準(zhǔn)確的編程操作,此環(huán)節(jié)也可以由教師設(shè)計(jì)相應(yīng)的規(guī)劃在課堂上帶領(lǐng)同學(xué)們一同操作,讓同學(xué)們感受到編程帶給他們的成就感和幸福感,具體實(shí)踐代碼老師可以通過課堂講解或提前告知同學(xué)讓他們自己預(yù)習(xí),然后上課直接小組實(shí)踐。最后,背景音樂和后期畫面的融合,背景音樂的選擇也是要基于游戲中的現(xiàn)場效果進(jìn)行貼合,還要在游戲的開始、暫停等關(guān)鍵點(diǎn)進(jìn)行,對于音頻效果我們可以采取WAV格式來進(jìn)行,要注意音頻播放的循環(huán)限制,不能出現(xiàn)間斷的情況。而其中背景音樂的播放也應(yīng)該采取剪輯的方式來保證它的循環(huán)性,但同時也要注意當(dāng)暫停鍵被按下和取消按下時背景音樂的狀態(tài)控制。
5 數(shù)據(jù)分析及測試
5.1 數(shù)據(jù)分析
進(jìn)行數(shù)據(jù)分析的主要目的就是為了檢測和分析所提交的代碼。當(dāng)用戶使用完將代碼提交后,此游戲系統(tǒng)就會自動將代碼發(fā)至審核系統(tǒng)進(jìn)行審核,使系統(tǒng)對其進(jìn)行修改和完善,如果系統(tǒng)審核成功就表示用戶提交代碼過程成功,從而進(jìn)行相關(guān)判斷。
5.2 具體測試
軟件的開發(fā)測試是其開發(fā)過程的核心,是其質(zhì)量保障的重要步驟,通過測試可以更加準(zhǔn)確地進(jìn)行反思和改進(jìn)。首先,就應(yīng)該對軟件做多方面的測試來發(fā)現(xiàn)錯誤,測試過程最好找到?jīng)]有參加開發(fā)編寫的程序人員,因?yàn)橐恢备S參加開發(fā)的技術(shù)人員很容易形成思維定式,所以選取無關(guān)人員測試更能發(fā)現(xiàn)問題。具體測試要注意的是邏輯錯誤、語法錯誤、運(yùn)行錯誤。要進(jìn)行多次反復(fù)測試,通過仔細(xì)篩查和修改最終得出最低出錯可能率。系統(tǒng)測試就是與系統(tǒng)的需求進(jìn)行一定的比較,并在實(shí)際的使用環(huán)境中運(yùn)行。
老師如果是在課堂上帶領(lǐng)同學(xué)們一起完成了這個游戲開發(fā)實(shí)驗(yàn),也可以召集其他一些同學(xué)來進(jìn)行實(shí)測,雖然沒有實(shí)體軟件開發(fā)測試的嚴(yán)謹(jǐn)性和專業(yè)性,但也能讓同學(xué)們更好的喜歡和融入Java語言開發(fā)魅力中,為未來開發(fā)型人才的培養(yǎng)打好基礎(chǔ)。
6 總結(jié)
本次課題主要是基于游戲開發(fā)的Java語言教學(xué)方法初探。本課題的目標(biāo)是設(shè)計(jì)相應(yīng)的Java語言進(jìn)行游戲開發(fā)教學(xué)來增加同學(xué)們的學(xué)習(xí)興趣,同時也提升和充實(shí)了筆者的教學(xué)能力和思維拓展。
頁面小游戲的設(shè)計(jì)與開發(fā)本來就是一項(xiàng)復(fù)雜的工作,游戲化編程一個探索性的教學(xué)實(shí)踐活動,筆者后期通過查閱書籍、查找相應(yīng)的設(shè)計(jì)方案和請教他人等途徑來逐步完成本次課題。本次實(shí)驗(yàn)不僅使同學(xué)們實(shí)踐編寫和參與了頁面小游戲的制作,后期檢測也增強(qiáng)了他們的責(zé)任心,最主要的還是獲得了Java語言等相應(yīng)編程知識的學(xué)習(xí),使思維模式更加多樣化。
實(shí)踐證明,采用游戲開發(fā)式的編程教學(xué)方式,不僅能夠提高同學(xué)們的編程編寫能力,還能充分調(diào)動學(xué)生學(xué)習(xí)的積極性和創(chuàng)造性,能夠更好地提升教學(xué)質(zhì)量。
參考文獻(xiàn)
[1] 張瑩.基于游戲開發(fā)的Java語言教學(xué)方法初探[J].黑龍江科技信息,2017(2):171.
[2] 彭健,陳蘭蘭.基于Java語言開發(fā)五子棋游戲項(xiàng)目的教學(xué)設(shè)計(jì)與實(shí)踐[J].江蘇科技信息,2016(33):47-48.
[3] 陳興國.Rings游戲開發(fā)在《Java語言程序設(shè)計(jì)A》課程中的應(yīng)用研究[J].現(xiàn)代計(jì)算機(jī)(專業(yè)版),2017(12):15-17.