Java游戲開(kāi)發(fā)實(shí)踐——Greenfoot編程快速入門(mén)
定 價(jià):59 元
叢書(shū)名:高等學(xué)校計(jì)算機(jī)基礎(chǔ)教育教材精選
- 作者:何青
- 出版時(shí)間:2018/8/1
- ISBN:9787302506560
- 出 版 社:清華大學(xué)出版社
- 中圖法分類(lèi):TP317.6
- 頁(yè)碼:
- 紙張:膠版紙
- 版次:
- 開(kāi)本:16開(kāi)
本書(shū)是高校教師多年開(kāi)發(fā)經(jīng)驗(yàn)的結(jié)晶之作,書(shū)中深入淺出地講解使用Greenfoot編程軟件進(jìn)行Java游戲開(kāi)發(fā),幫助讀者快速掌握游戲設(shè)計(jì)的基本原理和方法,同時(shí)提高Java語(yǔ)言的編程能力。
本書(shū)內(nèi)容分為五篇:*篇介紹Greenfoot編程基礎(chǔ),包含Greenfoot簡(jiǎn)介和Greenfoot游戲設(shè)計(jì)原理;第二篇介紹益智類(lèi)游戲設(shè)計(jì),包含記憶翻牌游戲、拼圖游戲、掃雷游戲;第三篇介紹休閑類(lèi)游戲設(shè)計(jì),包含彈鋼琴游戲、貪食蛇游戲、打磚塊游戲;第四篇介紹飛行類(lèi)游戲設(shè)計(jì),包含太空生存游戲、星球大戰(zhàn)游戲、飛揚(yáng)的小鳥(niǎo)游戲;第五篇介紹棋牌類(lèi)游戲設(shè)計(jì),包含黑白棋游戲、接龍紙牌游戲、中國(guó)象棋游戲。
本書(shū)內(nèi)容安排合理,架構(gòu)清晰,注重理論與實(shí)踐相結(jié)合,既適合作為零基礎(chǔ)Java游戲開(kāi)發(fā)初學(xué)者的教程,也可作為本科院校及大專(zhuān)院校的教材,還可供職業(yè)技術(shù)學(xué)校和各類(lèi)游戲培訓(xùn)機(jī)構(gòu)使用。
高校教師多年開(kāi)發(fā)經(jīng)驗(yàn)的結(jié)晶之作,深入淺出講解使用Greenfoot編程軟件進(jìn)行Java游戲開(kāi)發(fā)
前 言
隨著互聯(lián)網(wǎng) 時(shí)代的來(lái)臨,社會(huì)各行業(yè)對(duì)于計(jì)算機(jī)技術(shù)的依賴(lài)達(dá)到前所未有的程度,而計(jì)算機(jī)技術(shù)的應(yīng)用關(guān)鍵在于程序的設(shè)計(jì)和編寫(xiě),可以說(shuō)編程能力不僅是未來(lái)社會(huì)的需要,也是未來(lái)個(gè)人所應(yīng)具備的基本素質(zhì)。然而學(xué)習(xí)程序設(shè)計(jì)并不容易,需要付出艱苦的努力,也要耗費(fèi)大量的時(shí)間和精力,因此選擇合適的學(xué)習(xí)工具尤為重要。雖然很多大型的編程工具都可以免費(fèi)使用,但對(duì)于初學(xué)者來(lái)說(shuō)這些工具顯得過(guò)于復(fù)雜,由此帶來(lái)學(xué)習(xí)的困惑和壓力。理想的編程學(xué)習(xí)工具既要操作方便,又要功能齊全,還要簡(jiǎn)單有趣。Greenfoot正是這樣一款小而美的編程工具。
Greenfoot是由英國(guó)肯特大學(xué)的學(xué)者開(kāi)發(fā)的一款可視化編程軟件,起初被用于Java程序的教學(xué),而且通過(guò)可視化的圖形編程環(huán)境以及對(duì)游戲編程的良好支持,得到了眾多國(guó)家的廣泛使用,國(guó)外許多高校的計(jì)算機(jī)教師都使用這款軟件作為Java語(yǔ)言的教學(xué)工具。由于Greenfoot在教育界所取得的成功,一些大企業(yè)也將其作為自己的官方工具,例如Oracle公司將Greenfoot納入自身培訓(xùn)體系中,并在官網(wǎng)提供學(xué)習(xí)支持。同時(shí)Oracle還和國(guó)內(nèi)眾多高校與職業(yè)院校合作,推出教師培訓(xùn)計(jì)劃,鼓勵(lì)教師在教學(xué)中將Greenfoot作為工具,共同推動(dòng)Greenfoot在Java程序教學(xué)中的應(yīng)用。
隨著近年來(lái)游戲產(chǎn)業(yè)的急劇升溫,游戲人才的缺口急劇增大,同時(shí)也吸引了更多的人學(xué)習(xí)游戲設(shè)計(jì)和編程。但是游戲程序設(shè)計(jì)的門(mén)檻相對(duì)來(lái)說(shuō)比較高,沒(méi)有太多合適的學(xué)習(xí)工具幫助新手入門(mén)。游戲設(shè)計(jì)的書(shū)籍大多都是使用專(zhuān)業(yè)級(jí)的開(kāi)發(fā)工具(如Unity3D、Cocos2d等),針對(duì)初學(xué)者的編程工具鳳毛麟角。而Greenfoot恰好可以填補(bǔ)這個(gè)空缺。Greenfoot為游戲編程提供了豐富而實(shí)用的API(Application Programming Interface,應(yīng)用程序接口),使得編寫(xiě)小游戲異常方便,雖然它不能直接開(kāi)發(fā)出商業(yè)級(jí)的游戲應(yīng)用,但能充分滿(mǎn)足游戲設(shè)計(jì)愛(ài)好者及初學(xué)者的學(xué)習(xí)需求。
可以說(shuō),Greenfoot既是學(xué)習(xí)Java語(yǔ)言的實(shí)用工具,又是學(xué)習(xí)游戲編程的便捷工具。本書(shū)寫(xiě)作的初衷正是希望推廣和普及Greenfoot編程技術(shù),一方面提升Java語(yǔ)言學(xué)習(xí)者的編程興趣和編程水平,另一方面為游戲設(shè)計(jì)愛(ài)好者介紹一些基本的編程方法并提供實(shí)踐的指導(dǎo)。
全書(shū)分為五篇14章,內(nèi)容安排如下。
第一篇(第1章和第2章)介紹Greenfoot編程基礎(chǔ),包含Greenfoot簡(jiǎn)介和Greenfoot游戲設(shè)計(jì)原理。
第二篇(第3~5章)介紹益智類(lèi)游戲設(shè)計(jì),包含記憶翻牌游戲、拼圖游戲和掃雷游戲開(kāi)發(fā)。
第三篇(第6~8章)介紹休閑類(lèi)游戲設(shè)計(jì),包含彈鋼琴游戲、貪食蛇游戲和打磚塊游戲開(kāi)發(fā)。
第四篇(第9~11章)介紹飛行類(lèi)游戲設(shè)計(jì),包含太空生存游戲、星球大戰(zhàn)游戲和飛揚(yáng)的小鳥(niǎo)游戲開(kāi)發(fā)。
第五篇(第12~14章)介紹棋牌類(lèi)游戲設(shè)計(jì),包含黑白棋游戲、接龍紙牌游戲和中國(guó)象棋游戲開(kāi)發(fā)。
本書(shū)的特點(diǎn)主要體現(xiàn)在以下幾方面。
按照學(xué)習(xí)者的認(rèn)知規(guī)律來(lái)組織內(nèi)容。本書(shū)選用的案例大都是經(jīng)典小游戲,大多數(shù)人都比較熟悉,這無(wú)形中會(huì)增加學(xué)習(xí)者的親切感,減輕學(xué)習(xí)壓力。同時(shí),各個(gè)游戲案例采用循序漸進(jìn)的方式來(lái)組織,前幾章都是比較短小的游戲,功能相對(duì)較少,知識(shí)點(diǎn)也比較簡(jiǎn)單。隨著學(xué)習(xí)遞進(jìn)游戲規(guī)模會(huì)逐漸加大,游戲功能也更加復(fù)雜,涉及的知識(shí)點(diǎn)也會(huì)增多。但是基于前面章節(jié)的學(xué)習(xí),讀者也能夠較好地適應(yīng)相對(duì)復(fù)雜的內(nèi)容。
將游戲設(shè)計(jì)的方法論運(yùn)用到學(xué)習(xí)材料的組織上。在現(xiàn)實(shí)的游戲設(shè)計(jì)中經(jīng)常采用基于原型,逐步迭代的方式進(jìn)行開(kāi)發(fā),即將整個(gè)游戲的全部功能分解為很多小部分,然后一部分一部分地實(shí)現(xiàn)。本書(shū)內(nèi)容的組織也采用類(lèi)似的理念,即將每個(gè)游戲案例分解為多個(gè)小任務(wù),每一個(gè)任務(wù)都對(duì)應(yīng)著游戲的某部分功能,并且在前一任務(wù)完成的基礎(chǔ)上添加代碼來(lái)完成下一個(gè)任務(wù),從而展示游戲從無(wú)到有逐步擴(kuò)展的全過(guò)程。
內(nèi)容力求實(shí)用,強(qiáng)調(diào)實(shí)踐操作。本書(shū)詳細(xì)地描述了每個(gè)游戲案例的設(shè)計(jì)及實(shí)現(xiàn)細(xì)節(jié),盡量避免論述復(fù)雜的理論,著重強(qiáng)調(diào)游戲設(shè)計(jì)的整體過(guò)程和游戲編程的具體操作方法,能夠從實(shí)踐層面提高讀者的程序設(shè)計(jì)水平及游戲編程能力。此外,每個(gè)案例最后都設(shè)置了游戲擴(kuò)展練習(xí),在其中提供了一些對(duì)本案例進(jìn)行擴(kuò)展和改進(jìn)的思路,鼓勵(lì)讀者在理解游戲編寫(xiě)的基本原理之后再加以實(shí)踐練習(xí),以便達(dá)到學(xué)以致用的效果。
通過(guò)文本與微視頻的結(jié)合來(lái)形成綜合性的學(xué)習(xí)材料。由于本書(shū)各章節(jié)相對(duì)獨(dú)立,而且各章的案例被分解為多個(gè)任務(wù)分別進(jìn)行介紹,因此特別適合與微視頻講解的形式相結(jié)合。書(shū)中為每個(gè)游戲案例的每個(gè)任務(wù)都配套了微視頻,詳細(xì)講解相關(guān)代碼的編寫(xiě)原理和方法,以便彌補(bǔ)單一文本在敘述方面的不足,從而將文本和視頻音頻結(jié)合起來(lái)形成綜合性、立體性的學(xué)習(xí)材料。同時(shí),為每個(gè)微視頻生成二維碼附注在章節(jié)對(duì)應(yīng)位置上,讓讀者能夠在移動(dòng)環(huán)境下通過(guò)掃碼進(jìn)行學(xué)習(xí),從而形成全新的O2O學(xué)習(xí)體驗(yàn)。
在使用本書(shū)的過(guò)程中,建議讀者按照章節(jié)的順序循序漸進(jìn)地學(xué)習(xí),這樣更利于理解和積累知識(shí)。但由于各章的內(nèi)容相對(duì)獨(dú)立,讀者也完全可以根據(jù)自身興趣來(lái)安排學(xué)習(xí)的次序。強(qiáng)烈建議讀者在學(xué)習(xí)過(guò)程中加以實(shí)踐,對(duì)于每個(gè)游戲案例的各個(gè)小任務(wù),可以先試著自己動(dòng)手去實(shí)現(xiàn),若遇到問(wèn)題再參考書(shū)中的解決辦法。而對(duì)于每章最后的游戲擴(kuò)展練習(xí),也希望讀者能夠認(rèn)真地加以思考和解決。紙上得來(lái)終覺(jué)淺,絕知此事要躬行,只有親自動(dòng)手編寫(xiě)代碼,才能真正地提高程序設(shè)計(jì)水平及游戲編程能力。
本書(shū)適合所有對(duì)游戲設(shè)計(jì)或程序設(shè)計(jì)感興趣的讀者,包括高校和職業(yè)院校的學(xué)生及教師、游戲開(kāi)發(fā)人員、游戲編程愛(ài)好者、Java語(yǔ)言學(xué)習(xí)者、程序設(shè)計(jì)愛(ài)好者等。本書(shū)不僅可供讀者自主學(xué)習(xí)和閱讀,還可以作為高校及培訓(xùn)機(jī)構(gòu)的游戲設(shè)計(jì)教材或是Java程序設(shè)計(jì)的實(shí)踐教材。
感謝家人在本書(shū)的寫(xiě)作過(guò)程中給予的支持和關(guān)心,還要特別感謝楊仕青和高惠君為本書(shū)提供了豐富的素材,同時(shí)感謝潘肖男翻譯了Greenfoot API文檔。
由于作者水平有限,書(shū)中難免存在一些疏漏,敬請(qǐng)廣大讀者批評(píng)指正。對(duì)于本書(shū)有任何疑問(wèn),可以發(fā)郵件至hawking329@sina.com進(jìn)行咨詢(xún),也可以加入Greenfoot QQ群(29411309)進(jìn)行探討。
作者 于白馬湖畔
目錄
第一篇 Greenfoot編程基礎(chǔ)
第1章 Greenfoot簡(jiǎn)介 2
1.1 概述 2
1.2 Greenfoot的安裝及設(shè)置 3
1.3 Greenfoot基本操作方法 6
1.3.1 創(chuàng)建游戲場(chǎng)景 6
1.3.2 添加游戲角色 11
1.3.3 運(yùn)行游戲 12
1.4 Greenfoot提供的主要API 13
第2章 Greenfoot游戲設(shè)計(jì)原理 18
2.1 設(shè)置游戲場(chǎng)景和角色 18
2.1.1 調(diào)整游戲場(chǎng)景的大小 18
2.1.2 設(shè)置游戲的背景圖像 19
2.1.3 初始化游戲角色對(duì)象 20
2.2 實(shí)現(xiàn)角色移動(dòng) 20
2.2.1 改變位置 21
2.2.2 改變旋轉(zhuǎn)角度 21
2.2.3 改變圖像 22
2.2.4 實(shí)現(xiàn)隨機(jī)行為 22
2.3 圖像處理 23
2.3.1 使用游戲角色類(lèi)的圖像 23
2.3.2 使用圖片文件 23
2.3.3 生成圖像 24
2.3.4 繪制圖像 25
2.4 碰撞檢測(cè) 28
2.4.1 基于網(wǎng)格單元的碰撞檢測(cè) 29
2.4.2 基于角色圖像的碰撞檢測(cè) 30
2.5 輸入控制 30
2.5.1 鍵盤(pán)控制 31
2.5.2 鼠標(biāo)控制 31
2.6 播放聲音 32
2.7 游戲運(yùn)行控制 33
2.7.1 停止運(yùn)行游戲 33
2.7.2 設(shè)定游戲的運(yùn)行速度 34
2.7.3 推遲游戲的運(yùn)行 34
2.7.4 設(shè)定角色的顯示順序 34
2.7.5 設(shè)定角色的行為順序 35
2.8 導(dǎo)出游戲 35
2.8.1 將游戲項(xiàng)目發(fā)布到Greenfoot作品庫(kù) 35
2.8.2 將游戲項(xiàng)目以網(wǎng)頁(yè)的形式導(dǎo)出 37
2.8.3 將游戲項(xiàng)目以應(yīng)用程序的形式導(dǎo)出 37
2.8.4 將游戲項(xiàng)目導(dǎo)出為單獨(dú)的Greenfoot項(xiàng)目文件 37
第二篇 益智類(lèi)游戲設(shè)計(jì)
第3章 記憶翻牌游戲 40
3.1 游戲整體設(shè)計(jì) 40
3.2 游戲程序?qū)崿F(xiàn) 41
3.2.1 初始化游戲場(chǎng)景 42
3.2.2 實(shí)現(xiàn)翻牌動(dòng)作 45
3.2.3 配對(duì)檢查 47
3.2.4 實(shí)現(xiàn)游戲結(jié)束 49
3.3 游戲擴(kuò)展練習(xí) 52
第4章 拼圖游戲 53
4.1 游戲整體設(shè)計(jì) 53
4.2 游戲程序?qū)崿F(xiàn) 55
4.2.1 初始化游戲場(chǎng)景 55
4.2.2 打亂圖片塊 58
4.2.3 移動(dòng)圖片塊 60
4.2.4 游戲結(jié)束判定 62
4.3 游戲擴(kuò)展練習(xí) 64
第5章 掃雷游戲 66
5.1 游戲整體設(shè)計(jì) 66
5.2 游戲程序?qū)崿F(xiàn) 68
5.2.1 初始化游戲場(chǎng)景 68
5.2.2 設(shè)置地雷 69
5.2.3 處理鼠標(biāo)操作 71
5.2.4 游戲結(jié)束判定和處理 76
5.3 游戲擴(kuò)展練習(xí) 78
第三篇 休閑類(lèi)游戲設(shè)計(jì)
第6章 彈鋼琴游戲 82
6.1 游戲整體設(shè)計(jì) 82
6.2 游戲程序?qū)崿F(xiàn) 83
6.2.1 添加一個(gè)琴鍵 83
6.2.2 實(shí)現(xiàn)琴鍵的彈奏 85
6.2.3 繪制所有的琴鍵 88
6.3 游戲擴(kuò)展練習(xí) 93
第7章 貪食蛇游戲 95
7.1 游戲整體設(shè)計(jì) 95
7.2 游戲程序?qū)崿F(xiàn) 97
7.2.1 控制蛇頭移動(dòng) 97
7.2.2 添加食物 100
7.2.3 添加蛇身部分 100
7.2.4 設(shè)定游戲結(jié)束規(guī)則 103
7.2.5 消除蛇身長(zhǎng)度的限制 106
7.3 游戲擴(kuò)展練習(xí) 107
第8章 打磚塊游戲 109
8.1 游戲整體設(shè)計(jì) 109
8.2 游戲程序?qū)崿F(xiàn) 111
8.2.1 小球彈跳 112
8.2.2 小球與擋板交互 113
8.2.3 敲擊磚塊 118
8.2.4 完善游戲規(guī)則 122
8.3 游戲擴(kuò)展練習(xí) 127
第四篇 飛行類(lèi)游戲設(shè)計(jì)
第9章 太空生存游戲 130
9.1 游戲整體設(shè)計(jì) 130
9.2 游戲程序?qū)崿F(xiàn) 131
9.2.1 創(chuàng)建游戲場(chǎng)景和角色 132
9.2.2 完善游戲規(guī)則 134
9.2.3 實(shí)現(xiàn)計(jì)時(shí)功能 137
9.2.4 添加成績(jī)排行榜 140
9.3 游戲擴(kuò)展練習(xí) 143
第10章 星球大戰(zhàn)游戲 145
10.1 游戲整體設(shè)計(jì) 145
10.2 游戲程序?qū)崿F(xiàn) 147
10.2.1 游戲主要類(lèi)的實(shí)現(xiàn) 147
10.2.2 顯示爆炸效果 151
10.2.3 程序結(jié)構(gòu)優(yōu)化 153
10.3 游戲擴(kuò)展練習(xí) 161
第11章 飛揚(yáng)的小鳥(niǎo)游戲 162
11.1 游戲整體設(shè)計(jì) 162
11.2 游戲程序?qū)崿F(xiàn) 163
11.2.1 創(chuàng)建場(chǎng)景和角色 164
11.2.2 實(shí)現(xiàn)場(chǎng)景滾動(dòng) 167
11.2.3 完善游戲規(guī)則 174
11.2.4 添加圖形用戶(hù)界面 180
11.3 游戲擴(kuò)展練習(xí) 182
第五篇 棋牌類(lèi)游戲設(shè)計(jì)
第12章 黑白棋游戲 186
12.1 游戲整體設(shè)計(jì) 187
12.2 游戲程序?qū)崿F(xiàn) 187
12.2.1 創(chuàng)建棋盤(pán)和棋子 188
12.2.2 實(shí)現(xiàn)下棋操作 190
12.2.3 設(shè)置下棋規(guī)則 192
12.2.4 添加提示信息 199
12.2.5 完善游戲規(guī)則 202
12.3 游戲擴(kuò)展練習(xí) 204
第13章 接龍紙牌游戲 206
13.1 游戲整體設(shè)計(jì) 207
13.2 游戲程序?qū)崿F(xiàn) 208
13.2.1 初始化牌桌 208
13.2.2 實(shí)現(xiàn)翻牌功能 214
13.2.3 暫存撲克牌 216
13.2.4 歸整撲克牌 222
13.3 游戲擴(kuò)展練習(xí) 229
第14章 中國(guó)象棋游戲 230
14.1 游戲整體設(shè)計(jì) 230
14.2 游戲程序?qū)崿F(xiàn) 231
14.2.1 創(chuàng)建棋盤(pán)和棋子 232
14.2.2 設(shè)置下棋規(guī)則 235
14.2.3 實(shí)現(xiàn)下棋操作 256
14.2.4 實(shí)現(xiàn)勝負(fù)判斷 260
14.3 游戲擴(kuò)展練習(xí) 261
附錄 Greenfoot API參考 263
參考文獻(xiàn) 297