返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:

  • 正版 Python和Pygame游戏开发指南 (美)斯维加特 人民邮电出版社
  • 新华书店旗下自营,正版全新
    • 作者: (美)斯维加特著 | (美)斯维加特编 | (美)斯维加特译 | (美)斯维加特绘
    • 出版社: 人民邮电出版社
    • 出版时间:2013-12-01
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    美阅书店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品参数
    • 作者: (美)斯维加特著| (美)斯维加特编| (美)斯维加特译| (美)斯维加特绘
    • 出版社:人民邮电出版社
    • 出版时间:2013-12-01
    • 版次:1
    • 印次:20
    • 字数:465000
    • 页数:344
    • 开本:16开
    • ISBN:9787115407351
    • 版权提供:人民邮电出版社
    • 作者:(美)斯维加特
    • 著:(美)斯维加特
    • 装帧:平装
    • 印次:20
    • 定价:69.90
    • ISBN:9787115407351
    • 出版社:人民邮电出版社
    • 开本:16开
    • 印刷时间:暂无
    • 语种:暂无
    • 出版时间:2013-12-01
    • 页数:344
    • 外部编号:11623592
    • 版次:1
    • 成品尺寸:暂无

    第1章安装Python和Pygame1

    1.1预备知识1

    1.2下载和安装Python1

    1.3Windows下的安装说明1

    1.4MacOSX上的安装说明2

    1.5Ubuntu和Linux上的安装说明2

    1.6启动Python2

    1.7安装Pygame3

    1.8如何阅读本书4

    1.9特色的程序4

    1.10下载图形文件和声音文件4

    1.11行号和空格4

    1.12图书中的文本折行5

    1.13在线检查代码5

    1.14配套网站上的更多信息6



    第2章Pygame基础知识7

    2.1GUIvs.CLI7

    2.2使用Pygame的HelloWorld程序源代码7

    2.3建立一个Pygame程序8

    2.4游戏循环和游戏状态10

    2.5pygame.event.Event对象11

    2.6QUIT事件和pygame.quit()函数12

    2.7像素坐标13

    2.8关于函数、方法、构造函数和模块中的函数(及其差别)的一些提示13

    2.9Surface对象和窗口14

    2.10颜色15

    2.11颜色的透明度16

    2.12pygame.Color对象17

    2.13Rect对象17

    2.14基本的绘制函数19

    2.15pygame.PixelArray对象22

    2.16pygame.display.update()函数22

    2.17动画22

    2.18帧速率和pygame.time.Clock对象25

    2.19用pygame.image.load()和blit()绘制图像26

    2.20字体26

    2.21抗锯齿28

    2.22播放声音28

    2.23本章小结29



    第3章MemoryPuzzle游戏31

    3.1如何玩MemoryPuzzle游戏31

    3.2嵌套的for循环31

    3.3MemoryPuzzle的源代码33

    3.4声明和导入40

    3.5幻数很糟糕40

    3.6使用assert语句全面检查41

    3.7判断一个数字是偶数还是奇数42

    3.8较早崩溃和经常崩溃42

    3.9让源代码更好看一些43

    3.10使用常量变量而不是字符串44

    3.11确保有足够的图标44

    3.12元组vs.列表,不可变vs.可变45

    3.13单项元组需要一个结尾的逗号46

    3.14在列表和元组之间转换46

    3.15global语句以及为什么全局变量是罪恶的47

    3.16数据结构和2D列表48

    3.17“开始游戏”动画49

    3.18游戏循环50

    3.19事件处理循环50

    3.20检查鼠标光标在哪一个方块之上51

    3.21处理第一次点击的方块52

    3.22处理不一致的一对图标53

    3.23处理玩家获胜53

    3.24将游戏状态绘制到屏幕54

    3.25创建“揭开的方块”数据结构55

    3.26创建游戏板数据结构:第1步——获取所有可能的图标55

    3.27第2步——打乱并截取所有图标的列表56

    3.28第3步——将图标放置到游戏板上56

    3.29将一个列表分割为列表的列表57

    3.30不同的坐标系58

    3.31从像素坐标转换为方块坐标59

    3.32绘制图标以及语法糖59

    3.33获取游戏板控件的图标的形状和颜色的语法糖61

    3.34绘制盖住的方块61

    3.35处理揭开和覆盖动画62

    3.36绘制整个游戏板63

    3.37绘制高亮边框63

    3.38“开始游戏”动画64

    3.39揭开和盖住成组的方块64

    3.40“游戏获胜”动画65

    3.41判断玩家是否已经获胜65

    3.42为何要那么麻烦地使用main()函数66

    3.43为什么要为可读性操心67

    3.44本章小结71



    第4章SlidePuzzle72

    4.1如何玩SlidePuzzle72

    4.2SlidePuzzle的源代码72

    4.3第二款游戏和款相同80

    4.4设置按钮81

    4.5使用愚笨的代码变聪明83

    4.6主游戏循环83

    4.7点击按钮84

    4.8用鼠标滑动贴片85

    4.9用键盘滑动贴片85

    4.10使用in操作符实现“等于其中之一”的技巧86

    4.11WASD和箭头按键86

    4.12实际执行贴片滑动87

    4.13IDLE和终止Pygame程序87

    4.14检查特定的事件并且将事件添加到Pygame的事件队列88

    4.15创建游戏板数据结构89

    4.16不记录空白的位置89

    4.17通过更新游戏板数据结构来移动90

    4.18何时不使用断言90

    4.19获取一次并不是那么随机的移动91

    4.20将贴片坐标转换为像素坐标92

    4.21将像素坐标转换为游戏板坐标92

    4.22绘制一个贴片93

    4.23让文本显示在屏幕上93

    4.24绘制游戏板94

    4.25绘制游戏板的边框94

    4.26绘制按钮95

    4.27实现贴片滑动动画95

    4.28Surface的copy()方法96

    4.29创建新的谜题98

    4.30实现游戏板重置动画99

    4.31时间vs.内存的权衡100

    4.32没人在乎几个字节101

    4.33没人在乎几百万个纳秒101

    4.34本章小结101



    第5章Simulate102

    5.1如何玩Simulate游戏102

    5.2Simulate的源代码102

    5.3常用初始内容108

    5.4设置按钮109

    5.5main()函数110

    5.6程序中用到的一些局部变量110

    5.7绘制游戏板并处理输入111

    5.8检查鼠标点击112

    5.9检查键盘按下112

    5.10游戏循环的两种状态113

    5.11搞清楚玩家是否按下了正确的按钮113

    5.12新纪元时间115

    5.13将游戏板绘制到屏幕116

    5.14相同的旧的terminate()函数116

    5.15复用常量变量117

    5.16实现按钮闪烁动画117

    5.17绘制按钮120

    5.18实现背景颜色改变的动画120

    5.19游戏结束动画121

    5.20将像素坐标转换为按钮122

    5.21显式比隐式好123



    第6章Wormy125

    6.1Wormy游戏的玩法125

    6.2Wormy的源代码125

    6.3栅格131

    6.4设置代码131

    6.5main()函数132

    6.6单独的runGame()函数133

    6.7事件处理循环134

    6.8碰撞检测134

    6.9检测和苹果的碰撞135

    6.10移动虫子136

    6.11insert()列表方法136

    6.12绘制屏幕137

    6.13在屏幕上绘制“Pressakey”文本137

    6.14checkForKeyPress()函数137

    6.15初始屏幕138

    6.16旋转初始屏幕文本139

    6.17旋转并不完美140

    6.18决定苹果出现在哪里141

    6.19游戏结束屏幕141

    6.20绘制函数142

    6.21不要复用变量名144



    第7章Tetromino146

    7.1一些Tetromino术语146

    7.2Tetromino的源代码147

    7.3常用设置代码159

    7.4设置按下键的定时常量159

    7.5更多的设置代码160

    7.6设置砖块模式161

    7.7将“一行代码”分隔到多行164

    7.8main()函数165

    7.9开始新的游戏166

    7.10游戏循环167

    7.11事件处理循环167

    7.12暂停游戏167

    7.13使用移动变量来处理用户输入168

    7.14检查移动或旋转是否有效168

    7.15找到底部171

    7.16通过按下按键来移动172

    7.17让砖块“自然”落下174

    7.18将所有内容绘制到屏幕上175

    7.19制作文本的快捷函数makeTextObjs()176

    7.20相同的旧的terminate()函数176

    7.21使用checkForKeyPress()函数等待按键事件176

    7.22通用文本屏幕函数showTextScreen()177

    7.23checkForQuit()函数178

    7.24calculateLevelAndFallFreq()函数178

    7.25用函数getNewPiece()产生新的砖块180

    7.26给游戏板数据结构添加砖块181

    7.27创建一个新的游戏板数据结构181

    7.28isOnBoard()和isValidPosition()函数182

    7.29检查、删除和填满一行184

    7.30将游戏板坐标转换为像素坐标186

    7.31在游戏板上或屏幕上的其他位置绘制方块187

    7.32将所有内容绘制到屏幕上187

    7.33绘制得分和关卡文本188

    7.34在游戏板上或屏幕的其他位置绘制一个砖块188

    7.35绘制“Next”砖块189

    7.36本章小结189



    第8章SquirrelEatSquirrel191

    8.1如何玩SquirrelEatSquirrel191

    8.2SquirrelEatSquirrel的设计191

    8.3SquirrelEatSquirrel的源代码192

    8.4常用设置代码202

    8.5描述数据结构203

    8.6main()函数204

    8.7pygame.transform.flip()函数205

    8.8更为详细的游戏状态205

    8.9常用的文本创建代码206

    8.10相机206

    8.11“活动区域”208

    8.12记录游戏世界中的物体的位置208

    8.13从一些草开始209

    8.14游戏循环209

    8.15检查去掉保护状态209

    8.16移动敌人松鼠210

    8.17删除较远的草对象和松鼠对象211

    8.18当从列表中删除项的时候,反向遍历列表211

    8.19添加新的草对象和松鼠对象213

    8.20相机延迟以及移动相机视图213

    8.21绘制背景、草、松鼠和生命值指示214

    8.22事件处理循环216

    8.23移动玩家并考虑跳动218

    8.24碰撞检测:吃或被吃219

    8.25游戏结束屏幕221

    8.26获胜221

    8.27绘制图形化的生命值指标221

    8.28相同的旧的terminate()函数222

    8.29正弦函数222

    8.30对Python2的向后兼容225

    8.31getRandomVelocity()函数226

    8.32找到一个地方添加新的松鼠和草226

    8.33创建敌人松鼠数据结构228

    8.34翻转松鼠图像228

    8.35创建草数据结构229

    8.36检查是否在活动区域之外229

    8.37本章小结230



    第9章StarPusher231

    9.1如何玩StarPusher231

    9.2StarPusher的源代码232

    9.3初始化设置245

    9.4StarPusher中的数据结构259

    9.5读取和写入文本文件260

    9.6递归函数268

    9.7栈溢出269

    9.8使用基本条件防止栈溢出271

    9.9漫水填充算法271

    9.10绘制地图273

    9.11检查关卡是否完成275

    9.12本章小结276



    第10章4款其他游戏277

    10.1Flippy,Othello的翻版277

    10.2Flippy的源代码279

    10.3InkSpill,FloodIt游戏的翻版291

    10.4InkSpill的源代码292

    10.5Four-In-A-Row,ConnectFour的翻版303

    10.6Four-In-A-Row的源代码304

    10.7Gemgem,Bejeweled的翻版312

    10.8Gemgem的源代码313

    10.9本章小结326



    术语表328

    Al Sweigart是加利福尼亚州旧金山的一名软件开 发者。他很喜欢骑自行车、当志愿者、泡咖啡吧以及制作有用的软件。《Making Games with Python & Pygame》是他编写的第 二本书。他的另一本书是《Invent Your Own Computer Games with Python》。他生于德克萨斯的休斯顿。他在德克萨斯大学Austin分校读完了计算机科学学位。

    Python语言和Pygame是开发图形化的计算机游戏的得力工具。Pygame使得开发2D图形程序变得很容易,而且它可以免费下载和安装使用。 本书教你如何用Python语言和Pygame库,来编写图形化的计算机游戏。本书通过详细分析11款示例游戏的源代码,介绍Pygame库的用法。一旦理解了Python编程基础,可以使用Pygame库来增强自己的开发能力,制作带有图形、动画和声音的游戏。 本书所涉及的11款示例游戏,是诸如Nibbles、Tetris、Simon、Bejeweled、Othello、Connect Four、Flood It等游戏的翻版。 本书的Web站点http://inventwithpython.com/pygame,提供源代码下载等更多资源。

    Python语言和Pygame都是开发图形化的计算机游戏的得力工具。Pygame使得开发2D图形程序变得很容易,而且它可以免费下载和安装使用。

    本书是一本中级编程图书。本书教你如何用Python语言和Pygame库,来编写图形化的计算机游戏。本书共包括10章。本书首先从Python和Pygame基础知识开始,简短地介绍了Pygame库是如何工作的,以及它提供了哪些功能。然后,结合7款不同的游戏实例的开发过程,详细介绍了应用的技能和技巧。本书针对一些真实的游戏给出了完整的源代码,并且详细说明了这些代码如何工作,以便你能够理解真正的游戏是如何使用Pygame的。

    本书适合有一定Python基础知识的读者阅读和学习,进而掌握基本的游戏开发知识和技能,对于Python初学者来说,本书也可以作为通过游戏学习Python开发的实践教程。

    本书作者在国外发布英文版后,受到普遍欢迎和很好的评价。 本书通过详细分析11款示例游戏的源代码,介绍Pygame库的用法。寓教于乐,轻松有趣。 本书所涉及的11款示例游戏,是诸如Nibbles、Tetris、Simon、Bejeweled、Othello、Connect Four、Flood It等游戏的翻版。 本书的Web站点http://inventwithpython.com/pygame,提供源代码下载等更多资源。

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购