• 趣学Python游戏编程
  • 趣学Python游戏编程
  • 趣学Python游戏编程
  • 趣学Python游戏编程
  • 趣学Python游戏编程
  • 趣学Python游戏编程
  • 趣学Python游戏编程
  • 趣学Python游戏编程
  • 趣学Python游戏编程
21年品牌 40万+商家 超1.5亿件商品

趣学Python游戏编程

正版保障 假一赔十 可开发票

27.99 5.7折 49 全新

库存30件

广东广州
认证卖家担保交易快速发货售后保障

作者何青

出版社清华大学出版社

ISBN9787302549772

出版时间2020-06

装帧平装

开本16开

定价49元

货号28972461

上书时间2024-10-28

兴文书店

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
前言

一方面,随着人工智能时代的来临,Python编程语言受到热捧,根据 IEEE发布的《2018年*热门的编程语言》,Python在整体排名中位居榜首。随之而来的是对 Python学习的巨大需求,国内高校纷纷开设 Python程序设计课程,而且从 2018年 3月起, Python被纳入全国计算机等级考试科目。中小学也顺应时代的潮流,相继开始进行 Python编程教学。 2018年初,浙江省出台了*新的信息技术课程改革方案, Python确定进入浙江省信息技术高考。北京和山东也将把 Python编程基础纳入信息技术课程和高考的内容体系。

另一方面,随着近年来游戏产业的急剧升温,游戏人才的缺口急剧增大,同时也催生了游戏设计的学习需求,越来越多的人开始学习游戏设计和编程,众多高校先后开设了游戏设计相关的专业及课程。然而游戏程序设计的门槛相对来说比较高,没有太多合适的学习工具让新手入门。关于游戏编程的书籍大多介绍的是专业级的开发工具(如 Unity3D、Cocos2D等),针对初学者的书籍凤毛麟角。

本书尝试将以上两种需求结合起来,即通过 Python语言来介绍游戏编程的基本原理和方法。一方面,可以为 Python语言学习者提供一个实践的平台,通过游戏的设计和编写来深入理解 Python语法,以此提高读者的实践应用能力,进而达到融会贯通的学习效果;另一方面,为游戏设计爱好者提供一个便捷的学习途径,利用 Python的简洁性来介绍游戏设计,可以尽量排除语法层面的障碍,从而方便读者理解及掌握游戏编程的基本原理和实现方法。

 

主要内容

本书精选了十个游戏案例进行介绍,涵盖了不同的游戏类型。为了让读者能够“趣学”,本书挑选的都是经典而有趣的游戏案例,同时在写作风格上尽量做到轻松有趣,以便*大程度地提高读者的学习兴趣和学习效果。

书中每个游戏案例都被赋予一个主题,内容围绕该主题展开。具体如下:

第 1章介绍弹跳小球游戏,主题为游戏循环的原理。通过设置游戏循环,实现了小球在游戏窗口四周弹跳的效果。

第 2章介绍拼图游戏,主题为鼠标事件处理。通过对鼠标的单击事件进行处理,实现了图片块的移动操作。

第 3章介绍扫雷游戏,主题为函数的递归调用。通过使用递归函数来打开方块,实现了方块的自动打开操作。

第 4章介绍贪食蛇游戏,主题为键盘事件处理。通过对键盘的按键事件进行处理,实现了贪食蛇的移动控制。

第 5章介绍打字游戏,主题为随机数的使用。通过为气球随机生成速度、位置及字母,展示了随机数在游戏设计中的奇妙作用。

第 6章介绍打砖块游戏,主题为碰撞检测及处理。通过对小球与挡板及砖块实施碰撞检测,实现了游戏角色之间的交互行为。

第 7章介绍 Flappy Bird游戏,主题为场景滚动和角色动画。通过滚动显示场景图像,以及为小鸟播放飞行动画,实现了栩栩如生的游戏画面。

第 8章介绍飞机大战游戏,主题为游戏角色的移动特效。通过为敌机设置缓动功能,实现了游戏角色复杂多变的移动效果。

第 9章介绍推箱子游戏,主题为游戏关卡的设计与实现。通过为推箱子游戏添加多个关卡,实现了游戏关卡的设置、加载和切换。

第 10章介绍五子棋游戏,主题为人工智能在游戏设计中的运用。通过为五子棋游戏加入人工智能算法,实现了人机对弈的功能。

 

本书特色

与时俱进。紧跟计算机技术及产业发展趋势,结合游戏开发、Python语言、人工智能等热点内容,充分满足大众对时兴技术的好奇心和求知欲。

结构清晰。每一章围绕一个经典游戏案例展开,并将案例拆分为几个小任务,然后分任务、分步骤地进行介绍,展示游戏从无到有的全过程。

组织合理。内容按照由易到难的顺序来组织,各章节涉及的知识点先后关联,每一章都会介绍一些新技能,然后在后面的章节中加以运用。

注重实践。将 Python语法知识及常用的编程技巧糅合到各个游戏案例中,以展示 Python语言的实际运用场景,从而达到学以致用的效果。

通俗易懂。采用生动有趣的语言,细致入微的描述,并辅以丰富翔实的图例,充分顾及初学者及低龄读者的阅读习惯。

 

学习建议

由于本书各章节的知识点在逻辑上先后关联,因此建议从第 1章开始,逐章节地进行学习。若实在对某个章节的案例感兴趣,也可以先学习该案例,当遇到不懂之处再去前面的章中寻找答案。若读者之前不熟悉Python 语言,则可以先看看附录部分关于Python 基础语法的介绍。

在学习本书的过程中,建议跟随着书本将代码亲手编写一遍。对于每个游戏案例的各个小任务,可以先试着自己动手实现,若遇到问题再参考书中的解决办法。而对于书中给出的练习,也希望读者能够认真地加以思考和解决。“纸上学来终觉浅,绝知此事要躬行”,若想真正提高编程能力,除了多动手实践没有其他捷径。

 

适用读者

本书受众面很广,不仅适用于大学生、青少年,还包括社会大众,甚至中小学生,用来满足其学习游戏设计的需求,以及提高Python 编程水平的需求。

若您对以下几个问题之一持肯定的答案,那么本书便适合您阅读。

您对计算机程序设计感兴趣吗?

您希望学习Python 编程语言吗?

若您有一定的Python 基础,希望进一步提高编程能力吗?

您想了解经典的小游戏是如何设计编写的吗?

您希望学习游戏编程技术来制作自己的游戏吗?

 

技术支持

由于作者水平有限,书中难免存在一些疏漏,敬请广大读者批评指正。对本书有任何疑问,可以通过清华大学出版社网站(www.tup.com.cn)与编辑沟通。

感谢家人、朋友及同事在本书的写作过程中给予的支持和关心,特别要感谢我可爱的女儿,作为*早接触书中游戏案例的人,她在乐此不疲地玩这些游戏的同时,也替我完成了大部分的测试工作。

 

作 者

于白马湖畔



导语摘要

全书精选十个游戏案例,涵盖不同的游戏类型,每一章围绕一个经典游戏案例展开,并突出一个游戏编程的主题。本书涉及的主要知识点有游戏循环的原理、鼠标及键盘事件处理、碰撞检测及处理、随机数的运用、定时器的使用、游戏场景的滚动、角色动画的播放、音效及音乐的播放、缓动效果、游戏关卡设计、游戏人工智能的原理及运用等。本书将 Python语法知识及常用的编程技巧糅合在各个游戏案例中介绍,为读者展示 Python语言的实际运用场景。 本书内容安排合理,架构清晰,注重理论与实践相结合,适合作为零基础学习 Python开发初学者的教程,也可作为本科院校及大专院校的教材,还可供职业技术学校和各类游戏培训机构使用。



作者简介

何青,湖南文理学院计算机教师,毕业于中山大学。从事计算机游戏设计课程教学十余年,教学经验丰富,教学成果显著,主持*产学合作协同育人项目“计算机游戏设计课程教师技能培养”,发表游戏设计教学研究论文多篇,出版游戏设计图书三部:《游戏程序设计教程》《Java游戏程序设计教程》《Java游戏开发实践:Greenfoot编程快速入门》。



目录

第1章  神奇的游戏循环:弹跳小球 / 1


1.1  准备工作 / 1


1.1.1  选择合适的开发工具 / 1


1.1.2  设置开发环境 / 2


1.2  从何处开始 / 3


1.2.1  创建程序窗口 / 3


1.2.2  改变窗口大小和颜色 / 5


1.2.3  显示图像 / 7


1.3  建立游戏世界 / 9


1.3.1  创建游戏场景 / 9


1.3.2  创建游戏角色  /10


1.4  移动小球  /11


1.4.1  改变小球坐标/11


1.4.2  游戏循环/11


1.4.3  朝其他方向移动  /13


1.4.4  移动得快一些  /14


1.5  实现小球反弹  /14


1.5.1  检测小球的位置  /14


1.5.2  将小球反弹回来  /15


1.6  加入更多的小球  /17


1.6.1  添加两个小球  /18


1.6.2  使用列表  /19


1.7  回顾与总结  /21


 


第2章用鼠标控制游戏:拼图  /24  2.1


添加图片块  /24


2.1.1  准备图片资源  /24


2.1.2  创建游戏场景  /25


2.1.3  用列表管理图片块  /26


2.2  打乱图片块  /27


2.2.1  使用随机函数  /27


2.2.2  将图片块显示出来  /28


2.3  移动图片块  /30


2.3.1  处理鼠标单击事件  /30


2.3.2  选取图片块  /31


2.3.3  判断图片块能否移动  /31


2.3.4  采用模块化编程方法  /32


2.3.5  改变图片块的位置  /33


2.3.6  减少程序的缩进层级  /33


2.4  实现游戏结束  /34


2.4.1  检查拼图是否完成  /35


2.4.2  显示*后一张图片  /36


2.4.3  播放声音效果  /37


2.4.4  显示文字信息  /38


2.5  回顾与总结  /39


 


第3章递归函数的威力:扫雷  /42


3.1  创建方块阵列  /42


3.1.1  准备图片资源  /42


3.1.2  创建游戏场景  /43


3.1.3  生成方块阵列  /43


3.1.4  埋设  /45


3.2  给方块插上旗子  /46


3.2.1  使用鼠标右键来操作  /46


3.2.2  定义函数执行插旗操作  /47


3.3  打开方块  /49


3.3.1  完善鼠标事件处理  /49


3.3.2  获取周围的方格  /50


3.3.3  统计数量  /52


3.3.4  递归调用打开方块函数  /52


3.4  判定游戏胜负  /54


3.4.1  游戏失败的处理  /54


3.4.2  游戏胜利的处理  /55


3.5  回顾与总结  /57


 


第4章用键盘控制游戏:贪食蛇  /60


4.1  创建场景和角色  /60


4.1.1  创建游戏场景  /60


4.1.2  创建贪食蛇  /61


4.2  移动蛇头  /62


4.2.1  处理键盘按键事件  /62


4.2.2  让蛇头持续移动  /63


4.2.3  另一种键盘控制方式  /64


4.2.4  延缓贪食蛇的移动  /65


4.2.5  旋转蛇头的图像  /66


4.2.6  使用字典类型  /68


4.3  添加食物  /69


4.3.1  让食物随机出现  /69


4.3.2  让贪食蛇“吃”食物  /70


4.3.3  增长贪食蛇的身体  /71


4.4  实现游戏结束  /74


4.4.1  判断贪食蛇碰到窗口边界  /74


4.4.2  判断蛇头碰到自己身体  /74


4.5  回顾与总结  /76


 


第5章随机数的妙用:打字  /79


5.1  创建一个字母气球  /79


5.1.1  创建游戏场景  /79


5.1.2  创建气球角色  /80


5.2  添加多个气球  /81


5.2.1  创建多个气球角色  /81


5.2.2  随机生成气球的坐标  /83


5.2.3  随机生成气球的速度  /85


5.2.4  随机生成气球的字母  /87


5.3  实现打字功能  /89


5.3.1  匹配字母的按键  /89


5.3.2  消除气球  /89


5.3.3  修补游戏的  Bug  /92


5.4  完善游戏规则  /94


5.4.1  添加游戏积分  /94


5.4.2  实现游戏倒计时  /95


5.4.3  判定游戏结束  /97


5.5  回顾与总结  /98


 


第6章碰撞检测及处理:打砖块 / 103


6.1  创建场景及角色 / 103


6.1.1  创建游戏场景 / 103


6.1.2  创建游戏角色 / 104


6.2  让角色动起来 / 106


6.2.1  移动挡板 / 106


6.2.2  移动小球 / 107


6.3  处理角色间的碰撞 / 110


6.3.1  碰撞检测的原理 / 110


6.3.2  小球与挡板的碰撞 / 112


6.3.3  小球与砖块的碰撞 / 114


6.4  完善游戏规则 / 116


6.4.1  设置游戏积分 / 117


6.4.2  添加生命值 / 117


6.4.3  实现游戏结束 / 118


6.5  回顾与总结 / 120


 


第7章让游戏更加生动:  Flappy Bird / 124


7.1  创建游戏场景 / 124


7.1.1  设置背景图像 / 124


7.1.2  滚动背景图像 / 126


7.2  添加障碍物 / 128


7.2.1  设置地面 / 128


7.2.2  设置水管 / 129


7.3  添加小鸟 / 131


7.3.1  创建小鸟角色 / 131


7.3.2  模拟重力下的飞行 / 132


7.3.3  播放飞行动画 / 133


7.4  小鸟与障碍物的交互 / 135


7.4.1  小鸟与地面碰撞 / 135


7.4.2  小鸟与水管碰撞 / 136


7.4.3  小鸟飞越水管 / 137


7.5  设计图形用户界面 / 139


7.5.1  显示  GUI图像 / 139


7.5.2  单击“开始”按钮 / 141


7.5.3  播放背景音乐 / 141


7.6  回顾与总结 / 142


 


第8章实现复杂的移动:飞机大战 / 146


8.1  创建游戏场景 / 146


8.1.1  设置背景图像 / 146


8.1.2  滚动背景图像 / 148


8.2  添加英雄战机 / 148


8.2.1  控制战机移动 / 148


8.2.2  播放战机动画 / 149


8.3  添加子弹 / 151


8.3.1  实现子弹射击 / 151


8.3.2  设置增强道具 / 152


8.3.3  使用三角函数计算坐标 / 154


8.4  添加敌机 / 157


8.4.1  设置缓动效果 / 157


8.4.2  敌机与子弹的交互 / 160


8.4.3  敌机与战机的交互 / 161


8.5  完善游戏效果 / 165


8.5.1  设置  HUD / 165


8.5.2  播放背景音乐 / 166


8.6  回顾与总结 / 167


 


第9章添加多个游戏关卡:推箱子 / 173


9.1  创建场景和角色 / 173


9.1.1  设置游戏关卡 / 173


9.1.2  加载游戏关卡 / 175


9.2  实现角色的交互 / 177


9.2.1  控制玩家角色的移动 / 177


9.2.2  处理玩家角色的碰撞 / 178


9.2.3  处理箱子角色的碰撞 / 179


9.3  添加新的关卡 / 181


9.3.1  从文件载入关卡 / 181


9.3.2  切换关卡 / 184


9.4  完善游戏功能 / 186


9.4.1  重置关卡 / 186


9.4.2  判定游戏结束 / 187


9.5  回顾与总结 / 188


 


第10章人工智能的奥秘:五子棋 / 193


10.1  创建棋盘和棋子 / 193


10.1.1  绘制棋盘 / 193


10.1.2  设置棋子 / 195


10.2  执行走棋操作 / 195


10.2.1  使用鼠标下棋 / 1

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP