Making Games with Python & Pygame 用Pygame做游戏

第1章-安装python和pygame

在开始做游戏之前你应该知道什么?

在阅读这本书之前,如果你对Python编程有一点了解(或者如何使用Python之外的另一种语言编程),这可能会有所帮助;然而,即使你还没有读过这本书,你仍然可以读这本书。

编程并不像人们想象的那么难。

如果你遇到了一些麻烦,你可以在http://inventwithpython.com上免费阅读这本书——《Invent Your Own Computer Games with
Python》,或者在http://inventwithpython.com/wiki上查找一个相关的问题。

在阅读这本书之前,如果没有了解过Pygame库也没关系,下一章是关于Pygame的所有主要特性和功能的简短教程。

如果您还没有阅读过关于Python及pygame任何内容,也没有安装过Python及Pygame,那么稍后我将详细介绍如何安装。如果您已经安装了这两个,那么您可以跳过本章。

下载并安装Python

在我们开始编程之前,您需要在计算机上安装Python解释器。解释器是一个程序,它理解您将用Python编写的说明。没有解释器,您的计算机将无法运行Python程序。 从现在开始,我们将把Python解释器称为Python。

Python解释器可以从Python编程语言的官方网站下载,http://www.python.org。 您可能需要其他人的帮助来下载和安装Python软件。安装什么样的Python解释器取决于您的计算机的操作系统是Windows、MacOSX还是Linux操作系统,如Ubuntu。你还可以在网上找到在电脑上安装Python软件的视频http://invpy.com/installing

Windows系统安装python

当您访问http://python.org时,您应该看到左边的链接列表(例如-about、-News、-Documentation、-Download等等)。点击Download链接进入下载页面,然后查找名为Python3.2Windows安装程序的文件,然后单击其链接下载Windows系统的Python。

双击刚刚下载的python-3.2.msi文件,启动Python安装程序。(如果没有启动,请尝试右键单击文件并选择Install。) 一旦安装程序启动,只需继续单击Next按钮,并接受在开始时安装程序的选择(不需要进行任何更改)。安装完成后,单击Finish。

Mac OS X系统

Mac OS X10.5附带Python2.5.1由苹果预装。目前,Pygame只支持Python2,而不支持Python3(现在2020年已经支持)。然而,本书中的程序同时使用Python2和Python3。

Python网站(http://docs.python.org/dev/using/mac.html)还有一些关于在Mac上使用Python的其他信息。

启动Python

我们将使用IDLE软件键入我们的程序并运行它们。IDLE代表交互式开发环境。开发环境是使编写Python程序变得容易的软件,就像文字处理器软件使编写书籍变得容易一样。

如果您的操作系统是WindowsXP,您可以通过单击“开始”按钮来运行Python,然后选择Program - Python3.1 - IDLE(Python GUI)。对于Windows Vista或Windows7,只需单击左下角的Windows按钮,找到IDLE或者搜索IDLE并选择就可以了。

如果您的操作系统是Max OS X,则通过打开Finder窗口并单击Applications启动IDLE,然后单击Python3.2,然后单击IDLE图标就可以了。

安装Pygame

安装完Python后,并没有自带Pygame库。像Python一样,Pygame是免费的。您也需要下载和安装Pygame,这与下载和安装Python解释器一样容易。在浏览器中,转到http://pygame.org,然后单击网站左侧的Downloads下载链接。您需要下载操作系统的Pygame安装程序和您安装的Python版本,本书假设您下载的是Windows版本。

在Windows上,双击下载的文件安装Pygame。 若要检查Pygame是否安装正确,请在交互式shell中键入以下内容:

import pygame

如果点击Enter键后没有出现任何东西,那么您就知道Pygame已经成功安装了。如果出现错误导入错误:没有出现名为pygame的模块,则尝试再次安装Pygame(并确保输入的pygame正确)。

本章有五个小程序,演示如何使用Pygame提供的不同功能。在最后一章中,您将使用这些特性来完成用Python编写的带有Pygame的完整游戏。

关于如何安装Pygame的视频教程可在本书的网站http://invpy.com/videos查阅。

如何使用这本书

使用Python&Pygame制作游戏不同于其他编程书,因为它专注于几个游戏程序的完整源代码。这本书没有教你编程概念,而是让你自己去弄清楚如何用这些概念制作程序,这里向你展示了一些程序,然后解释了它们是如何组合在一起的。

一般来说,你应该按顺序阅读这些章节。在这些游戏中有许多概念被反复使用,它们只在它们出现的第一个游戏中被详细解释。但如果有一个你认为有趣的游戏,直接跳到那一章先阅览,如果你感觉自己能掌握,则可以随时阅读。

特色程序

每一章都是一个单一的游戏程序,并解释不同部分的代码是如何工作的。通过从本书中逐行输入代码是非常有帮助的,但是,您也可以从本书的网站下载源代码文件。 在Web浏览器中,转到URL http://invpy.com/source并按照说明下载源代码文件。但是自己输入代码确实可以帮助你更好地学习代码。

下载图形和声音文件

虽然你可以输入你从这本书中读到的代码,但你需要从http://invpy.com/downloads下载这本书中游戏使用的图形和声音文件,确保这些图像和声音文件位于与.py Python文件相同的文件夹中,否则Python程序将无法找到这些文件。

行数和空间

自己输入源代码时,不要输入每一行开头出现的行号。例如,如果你在书中看到这个:
Making Games with  Python & Pygame 中文翻译-LMLPHP

您不需要在左侧输入1,2,3,4... ...

应该这样输入:

number = random.randint(1, 20)
spam = 42
print('Hello world!')

这些数字只用于本书可以参考代码中的特定行,它们不是实际程序的一部分。

除了行号之外,请确保输入的代码与显示的完全一样。请注意,有些行不是从页面最左边开始的,而是由四个或八个或更多空格缩进的。一定要在每一行的开头加上正确的空格数。(由于IDLE中的每个字符都是相同的宽度,所以您可以通过计算正在查看的行上方或下方的字符数来计算空格数。)

例如,在下面的代码中,您可以看到第二行被四个空格缩进,因为上面一行的四个字符(while)位于缩进空间之上。第三行由另四个空格缩进(四个字符,如果n在第三行缩进空间之上):

while spam < 10:
if number == 42:
print('Hello')

这本书的文字包装

有些代码行太长,不适合在本书的页面上的一行,代码的文本将绕到下一行。当您在文件编辑器中输入这些行时,在一行中输入代码,而不按Enter键。

您可以通过查看代码左侧的行号来判断新行何时开始。例如,下面的代码只有两行代码,尽管第一行绕到了下一行:
Making Games with  Python &amp; Pygame 中文翻译-LMLPHP

在线查看您的代码

这本书中的一些程序有点长。虽然通过输入这些程序的源代码来学习Python是非常有帮助的,但您可能会意外地输入导致程序崩溃的错误。错误在哪里可能不明显。

您可以将源代码的文本复制并粘贴到图书网站上的在线diff工具中。diff工具将显示书中的源代码和您键入的源代码之间的任何差异。这是在程序中查找任何错误的简单方法。

复制和粘贴文本是一种非常有用的计算机技能,特别是对于计算机编程。在http://invpy.com/copypaste这本书的网站上有一个关于复制和粘贴的视频教程。

12-09 07:16