随着人工智能时代的来临,计算机软件将在日常生活中起到越来越重要的作用,编写计算机程序极有可能成为人们在未来社会的一项重要的生存技能。在众多的编程语言中,Python语法简单,上手容易,功能强大,应用广泛,更容易得到初学者的青睐。
然而,目前大部分Python图书会先系统讲解语法知识,知识量大,读者学习起来有些困难;且所举实例一般偏数学算法,过于抽象、趣味性不强,读者不愿写程序,进而觉得入门难。也有部分图书基于海龟绘图,利用代码绘制几何图形来激发读者兴趣,然而海龟绘图功能简单,不支持互动,趣味性一般。
针对以上问题,本书把趣味游戏开发应用于Python编程教学中,通过12个由易到难的有趣案例,带领读者从零基础开始学习。书中不安排专门章节讲解语法知识,而是让读者通过游戏案例逐步学习新的语法知识,便于读者理解并在实际应用中体会。书中案例经过精心的设计,所有代码均不超过100行,容易上手。读者在学习编程的同时还可锻炼逻辑思维,提升认识问题、解决问题的能力。
美国教育家杜威曾说过:“大多数的人,只觉得五官能接触的、实用的东西才有趣味,书本上的趣味是没有的。”同样,对于学习编程,读者看到用Python可以编出很好玩的程序时,感到有趣、有成就感,就会自己钻研,与他人积极互动,学习效果也会得到显著提升。
本书通过游戏案例逐步引入语法知识,用Python从无到有地开发趣味游戏,从而提升读者对编程的兴趣和能力。全书共有13章和两个附录。
第1章介绍了计算机程序和Python编程语言的基本概念,讲解了集成开发环境的下载配置,并运行了第1个Python程序(1行代码)。
第2章讲解了游戏开发库的安装,字符串、变量、if语句等语法知识,编写了“弹跳的小球”程序(24行代码)。
第3章讲解了for循环语句、循环嵌套、随机数等语法知识,绘制了“美丽的圆圈画”(18行代码)。
第4章讲解了列表的知识,并利用鼠标互动,编写了“疯狂的小圆圈”程序(38行代码)。
第5章讲解了数据类型转换、整数运算、图片导入与显示等功能,应用if语句,实现了“飞翔的小鸟”游戏(58行代码)。
第6章讲解了if-elif-else和input语句、图片旋转、音效播放等功能,实现了“见缝插针”游戏(49行代码)。
第7章讲解了复合运算符、字符串拼接、布尔变量等语法知识,实现了“飞机大战”游戏(88行代码)。
第8章讲解了绝对值函数、列表元素的删除等语法知识,应用键盘控制,实现了“勇闯地下一百层”游戏(74行代码)。
第9章讲解了列表元素的插入、break与continue语句、函数的定义与调用等语法知识,实现了“贪吃蛇”游戏(97行代码)。
第10章讲解了时间模块、文件读写等语法知识,实现了“拼图游戏”(98行代码)。
第11章讲解了二维数组、元组、集合、字典、while循环等语法知识,实现了“消灭星星”游戏(98行代码)。
第12章讲解了面向对象编程,包括类和对象、成员变量、成员函数、构造函数、继承等语法知识,实现了“坚持一百秒”游戏(99行代码)。
第13章讲解了转义字符、异常处理等语法知识,利用第三方图像处理库实现了“趣味图像生成”(70行代码)。
附录A给出了书中所有练习题的参考答案。
附录B列出了Python语法知识在书中出现的对应位置。
和市面上同类图书相比,本书有以下几个鲜明的特色。
本书适合任何对计算机编程感兴趣、特别是首次接触编程的人,不论是孩子还是家长、学生、职场人士,都可阅读。
本书适合学习过其他编程语言、想快速学习Python的人。
本书也适合任何对计算机游戏感兴趣的人。了解游戏背后的原理,与其玩别人做的游戏,不如自己设计、开发游戏让别人玩。
本书可以作为中学生、大学生学习Python编程的教材或少儿编程培训机构的参考教材,也可以作为编程爱好者的自学用书。
本书每章的开头会介绍该章游戏案例和制作的主要思路。读者可以先观看对应的游戏视频、运行最终的游戏代码,对本章的学习目标有个直观的了解。
本书将游戏案例分成多个步骤,从零开始一步一步实现,书中列出了每个步骤的实现目标、实现思路和相应的参考代码。读者可以在前一个步骤代码的基础上,尝试写出下一个步骤的代码,碰到困难时可以参考配套资源中的示例代码和分步骤实现思路的讲解视频。
在语法知识、案例的讲解后会列出一些练习题,读者可以先自己实践,再参考附录A中给出的答案。每章小结会给出进一步实践方向,读者可以根据自己的兴趣尝试。
读者可以利用附录B查阅相应的Python语法知识,对于本书没有涉及的内容,读者可以在线搜索,或者咨询周围的老师、同学。
本书提供了所有案例的分步骤代码、练习题参考答案、图片音效素材、演示视频,读者可以从异步社区下载。
童晶,浙江大学计算机专业博士,河海大学计算机系副教授、硕士生导师,中科院兼职副研究员。主要从事计算机图形学、虚拟现实、三维打印、数字化艺术等方向的研究,发表学术论文30余篇,曾获中国发明创业成果奖一等奖、浙江省自然科学二等奖、常州市自然科学优秀科技论文一等奖。积极投身教学创新,指导学生获得英特尔嵌入式比赛全国一等奖、挑战杯全国三等奖、中国软件杯全国一等奖、中国大学生服务外包大赛全国一等奖等多项奖项。具有15年的一线编程教学经验,开设课程在校内广受好评,被评为河海大学优秀主讲教师;在知乎、网易云课堂、中国大学MOOC等平台的教学课程已有上百万次的阅读量与学习次数。
童雨涵,三年级小学生。爱好广泛,喜欢朗诵、阅读、绘画、舞蹈、声乐等。2019年暑假开始接触Scratch编程,产生浓厚兴趣,跟随爸爸系统学习。2019年年底通过了中国电子学会的全国青少年软件编程等级考试(Scratch)一级考试。2019年11月,获常州“钟楼杯”首届青少年Scratch创意编程大赛低龄组三等奖;2019年12月,获常州国家高新区首届“菁英杯”创意编程大赛低年级组一等奖。
她为本书中的示例设计和场景艺术效果提供了创意想法,是本书游戏示例的测试者,并提出了宝贵的改进意见和建议。
首先感谢我的学生们,当老师最有成就感的就是看到学生成长、得到学生的认可。也是你们的支持和鼓励,让我在漫长的写作过程中坚持下来。
感谢人民邮电出版社的陈冀康编辑,本书是在他的一再推动下完成的。
感谢深圳点猫科技有限公司授权本书使用了编程猫的相关图片音乐素材。编程猫开发的海龟编辑器非常适合Python初学者,对Python编程教育的普及有着巨大的推动作用。
最后感谢我的爱人刘雪燕,在这个不平凡的冬天支持我埋头写作,也借本书祝愿阳光明媚的春天快点到来。
作者
2020年2月