一方面,随着人工智能时代的来临,Python编程语言受到热捧,根据IEEE发布的《2023年最热门的编程语言》,Python在整体排名中已经连续8年位居榜首。相伴而生的是对Python学习需求的持续增长,国内高校纷纷开设Python程序设计课程,而且从2018年3月起,Python被纳入全国计算机等级考试科目。中小学也顺应时代的潮流,相继开始进行Python编程教学。2018年初,浙江省出台了最新的信息技术课程改革方案,确定将Python纳入浙江省信息技术高考。北京市和山东省也把Python编程基础纳入信息技术课程和高考的内容体系。
另一方面,随着近年来游戏产业的急剧升温,游戏人才的缺口急剧增大,同时也催生了游戏设计的学习需求,越来越多的人开始学习游戏设计和编程,众多高校先后开设了与游戏设计相关的专业及课程。然而,游戏程序设计的门槛相对来说比较高,没有太多适合的学习工具让新手入门。关于游戏编程的书籍大多介绍的是专业级的开发工具(如Unity 3D、Cocos 2D等),针对初学者的书籍凤毛麟角。
本书尝试将以上两种需求结合起来,即通过Python语言来介绍游戏编程的基本原理和方法。一方面,可以为Python语言学习者提供一个实践的平台,通过游戏的设计和编写来深入理解Python语法,以此提高读者的实践应用能力,进而达到融会贯通的学习效果;另一方面,为游戏设计爱好者提供一个便捷的学习途径,利用Python的简洁性来介绍游戏设计,可以尽量排除语法层面的障碍,从而方便读者理解及掌握游戏编程的基本原理和实现方法。
主要内容
本书精选了11个游戏案例进行介绍,涵盖了不同的游戏类型。为了让读者能够“趣学”,本书挑选的都是经典而有趣的游戏案例,同时在写作风格上尽量做到轻松有趣,以便最大程度地提高读者的学习兴趣和学习效果。
书中的每个游戏案例都针对一个主题,内容围绕该主题展开。
第1章介绍弹跳小球游戏,主题为游戏循环的原理。通过设置游戏循环,实现了小球在游戏窗口四周的弹跳效果。
第2章介绍拼图游戏,主题为鼠标事件处理。通过对鼠标的单击事件进行处理,实现了图片块的移动操作。
第3章介绍扫雷游戏,主题为函数的递归调用。通过使用递归函数来打开方块,实现了方块的自动打开操作。
第4章介绍贪食蛇游戏,主题为键盘事件处理。通过对键盘的按键事件进行处理,实现了贪食蛇的移动控制。
第5章介绍打字游戏,主题为随机数的运用。通过为气球随机生成速度、位置及字母,展示了随机数在游戏设计中的奇妙作用。
第6章介绍打砖块游戏,主题为碰撞检测及处理。通过对小球、挡板及砖块实施碰撞检测,实现了游戏角色之间的交互行为。
第7章介绍Flappy Bird游戏,主题为场景滚动和角色动画。通过滚动显示场景图像,以及为小鸟播放飞行动画,实现了栩栩如生的游戏画面。
第8章介绍飞机大战游戏,主题为游戏角色的移动特效。通过为敌机设置缓动功能,实现了游戏角色复杂多变的移动效果。
第9章介绍推箱子游戏,主题为游戏关卡的设计与实现。通过为推箱子游戏添加多个关卡,实现了游戏关卡的设置、加载和切换。
第10章介绍五子棋游戏,主题为人工智能在游戏设计中的运用。通过为五子棋游戏加入人工智能算法,实现了人机对弈的功能。
第11章介绍炸弹人游戏,主题为双人游戏制作。通过在炸弹人游戏中加入两名玩家分别操控的角色,实现双人共同游戏的效果。
本书特色
与时俱进。紧跟计算机技术及产业发展趋势,结合游戏开发、Python语言、人工智能等热点内容,充分满足大众对时兴技术的好奇心和求知欲。
结构清晰。每章围绕一个经典游戏案例展开,并将案例拆分为几个小任务,然后分任务、分步骤地进行介绍,展示游戏从无到有的全过程。
组织合理。内容按照由易到难的顺序来组织,各章涉及的知识点前后关联,每章都会介绍一些新技能,并在后面的章节中加以运用。
注重实践。将Python语法知识及常用的编程技巧糅合到各个游戏案例中,以展示Python语言的实际运用场景,从而达到学以致用的效果。
通俗易懂。采用生动有趣的语言以及细致入微的描述,并辅以丰富翔实的图例,充分顾及初学者的阅读习惯。
学习建议
由于本书各章节的知识点在逻辑上前后关联,因此建议从第1章开始,逐章节进行学习。若对某个章节的案例特别感兴趣,也可以先学习该案例,当遇到不懂之处再去前面的章节中寻找答案。若读者之前不熟悉Python语言,则可以先看附录中关于Python基础语法的介绍。
在学习本书的过程中,建议读者跟随着书中内容将代码亲手录入一遍。对于每个游戏案例的各个小任务,可以先试着自己动手实现,若遇到问题可再参考书中的解决办法。对于书中给出的练习,也希望读者能够认真地加以思考和解决。“纸上得来终觉浅,绝知此事要躬行”,若想真正提高编程能力,除了多动手实践没有其他捷径。
适用读者
本书受众面很广,不仅适用于高等院校的学生,也适合社会大众及各类游戏开发培训机构,满足其学习游戏设计、提高Python编程水平的需求。
若您对以下几个问题之一持肯定的答案,那么本书便适合您阅读。
您对计算机程序设计感兴趣吗?
您希望学习Python编程语言吗?
若您有一定的Python基础,希望进一步提高编程能力吗?
您想了解经典的小游戏是如何设计和编写的吗?
您希望通过学习游戏编程技术来制作自己的游戏吗?
技术支持
欲获取素材、源码及更多学习资源或答疑解惑,请扫描二维码。
本书配套课件,请扫描二维码。
由于作者水平有限,书中难免存在一些疏漏,敬请广大读者批评指正。
感谢家人、朋友及同事在本书的写作过程中给予的支持和关心,特别要感谢我可爱的女儿,作为最早接触书中游戏案例的人,她在乐此不疲地玩这些游戏的同时,也替我完成了大部分的测试工作。
作 者
于白马湖畔