编辑推荐

高校教师多年开发经验的结晶之作,深入浅出讲解使用Greenfoot编程软件进行Java游戏开发

内容简介

Java游戏开发实践——Greenfoot编程快速入门》是高校教师多年开发经验的结晶之作,书中深入浅出地讲解使用Greenfoot编程软件进行Java游戏开发,帮助读者快速掌握游戏设计的基本原理和方法,同时提高Java语言的编程能力。

Java游戏开发实践——Greenfoot编程快速入门》内容分为五篇:第一篇介绍Greenfoot编程基础,包含Greenfoot简介和Greenfoot游戏设计原理;第二篇介绍益智类游戏设计,包含记忆翻牌游戏、拼图游戏、扫雷游戏;第三篇介绍休闲类游戏设计,包含弹钢琴游戏、贪食蛇游戏、打砖块游戏;第四篇介绍飞行类游戏设计,包含太空生存游戏、星球大战游戏、飞扬的小鸟游戏;第五篇介绍棋牌类游戏设计,包含黑白棋游戏、接龙纸牌游戏、中国象棋游戏。

Java游戏开发实践——Greenfoot编程快速入门》内容安排合理,架构清晰,注重理论与实践相结合,既适合作为零基础Java游戏开发初学者的教程,也可作为本科院校及大专院校的教材,还可供职业技术学校和各类游戏培训机构使用。

目录

目录

第一篇Greenfoot编程基础

第1章Greenfoot简介2

1.1概述2

1.2Greenfoot的安装及设置3

1.3Greenfoot基本操作方法6

1.3.1创建游戏场景6

1.3.2添加游戏角色11

1.3.3运行游戏12

1.4Greenfoot提供的主要API13

第2章Greenfoot游戏设计原理18

2.1设置游戏场景和角色18

2.1.1调整游戏场景的大小18

2.1.2设置游戏的背景图像19

2.1.3初始化游戏角色对象20

2.2实现角色移动20

2.2.1改变位置21

2.2.2改变旋转角度21

2.2.3改变图像22

2.2.4实现随机行为22

2.3图像处理23

2.3.1使用游戏角色类的图像23

2.3.2使用图片文件23

2.3.3生成图像24

2.3.4绘制图像25

2.4碰撞检测28

2.4.1基于网格单元的碰撞检测29

2.4.2基于角色图像的碰撞检测30

2.5输入控制30

2.5.1键盘控制31

2.5.2鼠标控制31

2.6播放声音32

2.7游戏运行控制33

2.7.1停止运行游戏33

2.7.2设定游戏的运行速度34

2.7.3推迟游戏的运行34

2.7.4设定角色的显示顺序34

2.7.5设定角色的行为顺序35

2.8导出游戏35

2.8.1将游戏项目发布到Greenfoot作品库35

2.8.2将游戏项目以网页的形式导出37

2.8.3将游戏项目以应用程序的形式导出37

2.8.4将游戏项目导出为单独的Greenfoot项目文件37

第二篇益智类游戏设计

第3章记忆翻牌游戏40

3.1游戏整体设计40

3.2游戏程序实现41

3.2.1初始化游戏场景42

3.2.2实现翻牌动作45

3.2.3配对检查47

3.2.4实现游戏结束49

3.3游戏扩展练习52

第4章拼图游戏53

4.1游戏整体设计53

4.2游戏程序实现55

4.2.1初始化游戏场景55

4.2.2打乱图片块58

4.2.3移动图片块60

4.2.4游戏结束判定62

4.3游戏扩展练习64

第5章扫雷游戏66

5.1游戏整体设计66

5.2游戏程序实现68

5.2.1初始化游戏场景68

5.2.2设置地雷69

5.2.3处理鼠标操作71

5.2.4游戏结束判定和处理76

5.3游戏扩展练习78

第三篇休闲类游戏设计

第6章弹钢琴游戏82

6.1游戏整体设计82

6.2游戏程序实现83

6.2.1添加一个琴键83

6.2.2实现琴键的弹奏85

6.2.3绘制所有的琴键88

6.3游戏扩展练习93

第7章贪食蛇游戏95

7.1游戏整体设计95

7.2游戏程序实现97

7.2.1控制蛇头移动97

7.2.2添加食物100

7.2.3添加蛇身部分100

7.2.4设定游戏结束规则103

7.2.5消除蛇身长度的限制106

7.3游戏扩展练习107

第8章打砖块游戏109

8.1游戏整体设计109

8.2游戏程序实现111

8.2.1小球弹跳112

8.2.2小球与挡板交互113

8.2.3敲击砖块118

8.2.4完善游戏规则122

8.3游戏扩展练习127

第四篇飞行类游戏设计

第9章太空生存游戏130

9.1游戏整体设计130

9.2游戏程序实现131

9.2.1创建游戏场景和角色132

9.2.2完善游戏规则134

9.2.3实现计时功能137

9.2.4添加成绩排行榜140

9.3游戏扩展练习143

第10章星球大战游戏145

10.1游戏整体设计145

10.2游戏程序实现147

10.2.1游戏主要类的实现147

10.2.2显示爆炸效果151

10.2.3程序结构优化153

10.3游戏扩展练习161

前言/序言

前言

随着“互联网+”时代的来临,社会各行业对于计算机技术的依赖达到前所未有的程度,而计算机技术的应用关键在于程序的设计和编写,可以说编程能力不仅是未来社会的需要,也是未来个人所应具备的基本素质。然而学习程序设计并不容易,需要付出艰苦的努力,也要耗费大量的时间和精力,因此选择合适的学习工具尤为重要。虽然很多大型的编程工具都可以免费使用,但对于初学者来说这些工具显得过于复杂,由此带来学习的困惑和压力。理想的编程学习工具既要操作方便,又要功能齐全,还要简单有趣。Greenfoot正是这样一款“小而美”的编程工具。

Greenfoot是由英国肯特大学的学者开发的一款可视化编程软件,起初被用于Java程序的教学,而且通过可视化的图形编程环境以及对游戏编程的良好支持,得到了众多国家的广泛使用,国外许多高校的计算机教师都使用这款软件作为Java语言的教学工具。由于Greenfoot在教育界所取得的成功,一些大企业也将其作为自己的官方工具,例如Oracle公司将Greenfoot纳入自身培训体系中,并在官网提供学习支持。同时Oracle还和国内众多高校与职业院校合作,推出教师培训计划,鼓励教师在教学中将Greenfoot作为工具,共同推动Greenfoot在Java程序教学中的应用。

随着近年来游戏产业的急剧升温,游戏人才的缺口急剧增大,同时也吸引了更多的人学习游戏设计和编程。但是游戏程序设计的门槛相对来说比较高,没有太多合适的学习工具帮助新手入门。游戏设计的书籍大多都是使用专业级的开发工具(如Unity3D、Cocos2d等),针对初学者的编程工具凤毛麟角。而Greenfoot恰好可以填补这个空缺。Greenfoot为游戏编程提供了丰富而实用的API(ApplicationProgrammingInterface,应用程序接口),使得编写小游戏异常方便,虽然它不能直接开发出商业级的游戏应用,但能充分满足游戏设计爱好者及初学者的学习需求。

可以说,Greenfoot既是学习Java语言的实用工具,又是学习游戏编程的便捷工具。《Java游戏开发实践——Greenfoot编程快速入门》写作的初衷正是希望推广和普及Greenfoot编程技术,一方面提升Java语言学习者的编程兴趣和编程水平,另一方面为游戏设计爱好者介绍一些基本的编程方法并提供实践的指导。

Java游戏开发实践——Greenfoot编程快速入门》分为五篇14章,内容安排如下。

第一篇(第1章和第2章)介绍Greenfoot编程基础,包含Greenfoot简介和Greenfoot游戏设计原理。

第二篇(第3~5章)介绍益智类游戏设计,包含记忆翻牌游戏、拼图游戏和扫雷游戏开发。

第三篇(第6~8章)介绍休闲类游戏设计,包含弹钢琴游戏、贪食蛇游戏和打砖块游戏开发。

第四篇(第9~11章)介绍飞行类游戏设计,包含太空生存游戏、星球大战游戏和飞扬的小鸟游戏开发。

第五篇(第12~14章)介绍棋牌类游戏设计,包含黑白棋游戏、接龙纸牌游戏和中国象棋游戏开发。

Java游戏开发实践——Greenfoot编程快速入门》的特点主要体现在以下几方面。

按照学习者的认知规律来组织内容。《Java游戏开发实践——Greenfoot编程快速入门》选用的案例大都是经典小游戏,大多数人都比较熟悉,这无形中会增加学习者的亲切感,减轻学习压力。同时,各个游戏案例采用循序渐进的方式来组织,前几章都是比较短小的游戏,功能相对较少,知识点也比较简单。随着学习递进游戏规模会逐渐加大,游戏功能也更加复杂,涉及的知识点也会增多。但是基于前面章节的学习,读者也能够较好地适应相对复杂的内容。

将游戏设计的方法论运用到学习材料的组织上。在现实的游戏设计中经常采用“基于原型,逐步迭代”的方式进行开发,即将整个游戏的全部功能分解为很多小部分,然后一部分一部分地实现。《Java游戏开发实践——Greenfoot编程快速入门》内容的组织也采用类似的理念,即将每个游戏案例分解为多个小任务,每一个任务都对应着游戏的某部分功能,并且在前一任务完成的基础上添加代码来完成下一个任务,从而展示游戏从无到有逐步扩展的全过程。

内容力求实用,强调实践操作。《Java游戏开发实践——Greenfoot编程快速入门》详细地描述了每个游戏案例的设计及实现细节,尽量避免论述复杂的理论,着重强调游戏设计的整体过程和游戏编程的具体操作方法,能够从实践层面提高读者的程序设计水平及游戏编程能力。此外,每个案例最后都设置了游戏扩展练习,在其中提供了一些对本案例进行扩展和改进的思路,鼓励读者在理解游戏编写的基本原理之后再加以实践练习,以便达到学以致用的效果。

通过文本与微视频的结合来形成综合性的学习材料。由于《Java游戏开发实践——Greenfoot编程快速入门》各章节相对独立,而且各章的案例被分解为多个任务分别进行介绍,因此特别适合与微视频讲解的形式相结合。书中为每个游戏案例的每个任务都配套了微视频,详细讲解相关代码的编写原理和方法,以便弥补单一文本在叙述方面的不足,从而将文本和视频音频结合起来形成综合性、立体性的学习材料。同时,为每个微视频生成二维码附注在章节对应位置上,让读者能够在移动环境下通过扫码进行学习,从而形成全新的O2O学习体验。

在使用《Java游戏开发实践——Greenfoot编程快速入门》的过程中,建议读者按照章节的顺序循序渐进地学习,这样更利于理解和积累知识。但由于各章的内容相对独立,读者也完全可以根据自身兴趣来安排学习的次序。强烈建议读者在学习过程中加以实践,对于每个游戏案例的各个小任务,可以先试着自己动手去实现,若遇到问题再参考书中的解决办法。而对于每章最后的游戏扩展练习,也希望读者能够认真地加以思考和解决。“纸上得来终觉浅,绝知此事要躬行”,只有亲自动手编写代码,才能真正地提高程序设计水平及游戏编程能力。

Java游戏开发实践——Greenfoot编程快速入门》适合所有对游戏设计或程序设计感兴趣的读者,包括高校和职业院校的学生及教师、游戏开发人员、游戏编程爱好者、Java语言学习者、程序设计爱好者等。《Java游戏开发实践——Greenfoot编程快速入门》不仅可供读者自主学习和阅读,还可以作为高校及培训机构的游戏设计教材或是Java程序设计的实践教材。

感谢家人在《Java游戏开发实践——Greenfoot编程快速入门》的写作过程中给予的支持和关心,还要特别感谢杨仕青和高惠君为《Java游戏开发实践——Greenfoot编程快速入门》提供了丰富的素材,同时感谢潘肖男翻译了GreenfootAPI文档。

由于作者水平有限,书中难免存在一些疏漏,敬请广大读者批评指正。对于《Java游戏开发实践——Greenfoot编程快速入门》有任何疑问,可以发邮件至hawking329@sina.com进行咨询,也可以加入GreenfootQQ群(29411309)进行探讨。

作者于白马湖畔


其他推荐