第 12 章 武装飞船

第 12 章 武装飞船

我们来开发一个游戏吧! 我们将使用Pygame, 这是一组功能强大而有趣的模块, 可用于管理图形、 动画乃至声音, 让你能够更轻松地开发复杂的游戏。 通过使用
Pygame来处理在屏幕上绘制图像等任务, 你不用考虑众多烦琐而艰难的编码工作, 而是将重点放在程序的高级逻辑上。

在本章中, 你将安装Pygame, 再创建一艘能够根据用户输入而左右移动和射击的飞船。 在接下来的两章中, 你将创建一群作为射杀目标的外星人, 并做其他的改进,如限制可供玩家使用的飞船数以及添加记分牌。

从本章开始, 你还将学习管理包含多个文件的项目。 我们将重构很多代码, 以提高代码的效率, 并管理文件的内容, 以确保项目组织有序。创建游戏是趣学语言的理想方式。 看别人玩你编写的游戏让你很有满足感, 而编写简单的游戏有助于你明白专业级游戏是怎么编写出来的。 在阅读本章的过程中, 请动手输入并运行代码, 以明白各个代码块对整个游戏所做的贡献, 并尝试不同的值和设置, 这样你将对如何改进游戏的交互性有更深入的认识。

注意 游戏《外星人入侵》 将包含很多不同的文件, 因此请在你的系统中新建一个文件夹, 并将其命名为alien_invasion 。 请务必将这个项目的所有文件都存储
到这个文件夹中, 这样相关的import语句才能正确地工作。

12.1 规划项目
开发大型项目时, 做好规划后再动手编写项目很重要。 规划可确保你不偏离轨道, 从而提高项目成功的可能性。下面来编写有关游戏《外星人入侵》 的描述, 其中虽然没有涵盖这款游戏的所有细节, 但能让你清楚地知道该如何动手开发它。
在游戏《外星人入侵》 中, 玩家控制着一艘最初出现在屏幕底部中央的飞船。 玩家可以使用箭头键左右移动飞船, 还可使用空格键进行射击。 游戏开始时, 一群外星人出现在天空中, 他们在屏幕中向下移动。 玩家的任务是射杀这些外星人。 玩家将所有外星人都消灭干净后, 将出现一群新的外星人, 他们移动的速度更快。 只要有外星人撞到了玩家的飞船或到达了屏幕底部, 玩家就损失一艘飞船。 玩家损失三艘飞船后, 游戏结束。

在第一个开发阶段, 我们将创建一艘可左右移动的飞船, 这艘飞船在用户按空格键时能够开火。 设置好这种行为后, 我们就能够将注意力转向外星人, 并提高这款游戏的可玩性。

12.2 安装Pygame

开始编码前, 先来安装Pygame。 下面介绍如何在Linux、 OS X和Microsoft Windows中安装Pygame。

如果你使用的是Linux系统和Python 3, 或者是OS X系统, 就需要使用pip来安装Pygame。 pip是一个负责为你下载并安装Python包的程序。 接下来的几小节介绍如何使用pip来安装Python包。
如果你使用的是Linux系统和Python 2.7, 或者是Windows, 就无需使用pip来安装Pygame; 在这种情况下, 请直接跳到12.2.2节或12.2.4节。

注意 接下来的部分包含在各种系统上安装pip的说明, 因为数据可视化项目和Web应用程序项目都需要pip。 这些说明也可在https://www.nostarch.com/pythoncrashcourse/

在线资源中找到。 如果安装时遇到麻烦, 看看在线说明是否管用。
12.2.1 使用pip安装Python包
大多数较新的Python版本都自带pip, 因此首先可检查系统是否已经安装了pip。 在Python 3中, pip有时被称为pip3。

  1. 在Linux和OS X系统中检查是否安装了pip
    打开一个终端窗口, 并执行如下命令:
$  pip  --version
❶   pip  7.0.3  from  /usr/local/lib/python3.5/dist-packages  (python  3.5)
$

如果你的系统只安装了一个版本的Python,并看到了类似于上面的输出,请跳到12.2.2节或12.2.3节。如果出现了错误消息,请尝试将pip替换为pip3。如果这两个版本都没有安装到 你的系统中,请跳到“安装pip”。
如果你的系统安装了多个版本的Python,请核实pip关联到了你使用的Python版本,如python 3.5(见❶)。如果pip关联到了正确的Python版本,请跳到12.2.2节或12.2.3节。如果pip没有关联到正确的Python版本,请尝试将pip替换为pip3。如果执行这两个命令时,输出都表明没有关联到正确的Python版本,请跳到“安装pip”。

2.在Windows系统中检查是否安装了pip

打开一个终端窗口,并执行如下命令:

$  python  -m  pip  --version
❶   pip  7.0.3  from  C:\Python35\lib\site-packages  (python  3.5)
$

在这里插入图片描述
如果你的系统只安装了一个版本的Python,并看到了类似于上面的输出,请跳到12.2.4节。如果出现了错误消息,请尝试将pip替换为pip3。如果执行这两个命令时都出现错误消 息,请跳到“安装pip”。
如果你的系统安装了多个版本的Python,请核实pip关联到了你使用的Python版本,如python 3.5(见❶)。如果pip关联到了正确的Python版本,请跳到12.2.4节。如果pip没有关联到正确的Python版本,请尝试将pip替换为pip3。如果执行这两个命令时都出现错误消息,请跳到“安装pip”。

3.安装pip
要安装pip,请访问https://bootstrap.pypa.io/get-pip.py 。如果出现对话框,请选择保存文件;如果get-pip.py的代码出现在浏览器中,请将这些代码复制并粘贴到文本编辑器中,再将文件保存为get-pip.py。将get-pip.py保存到计算机中后,你需要以管理员身份运行它,因为pip将在你的系统中安装新包。
注意 如果你找不到get-pip.py,请访问https://pip.pypa.io/ ,单击左边面板中的Installation,再单击中间窗口中的链接get-pip.py。

4.在Linux和OS X系统中安装pip
使用下面的命令以管理员身份运行get-pip.py:

$  sudo  python  get-pip.py

注意 如果你启动终端会话时使用的是命令python3 ,那么在这里应使用命令sudo python3 get-pip.py 。这个程序运行后,使用命令pip --version (或pip3 --version )确认正确地安装了pip。

5.在Windows系统中安装pip
使用下面的命令运行get-pip.py:

$  python  get-pip.py

如果你在终端中运行Python时使用的是另一个命令,也请使用这个命令来运行get-pip.py。例如,你可能需要使用命令python3 get-pip.py 或C:\Python35\python get- pip.py 。
这个程序运行后,执行命令python -m pip --version 以确认成功地安装了pip。

12.2.2在Linux系统中安装Pygame
如果你使用的是Python 2.7,请使用包管理器来安装Pygame。为此,打开一个终端窗口,并执行下面的命令,这将下载Pygame,并将其安装到你的系统中:

$  sudo  apt-get  install  python-pygame

执行如下命令,在终端会话中检查安装情况:

$ python
>>>  import  pygame
>>>

如果没有任何输出,就说明Python导入了Pygame,你可以跳到12.3节。
如果你使用的是Python 3,就需要执行两个步骤:安装Pygame依赖的库;下载并安装Pygame。
执行下面的命令来安装Pygame依赖的库(如果你开始终端会话时使用的是命令python3.5 ,请将python3-dev 替换为python3.5-dev ):

$  sudo  apt-get  install  python3-dev  mercurial
$  sudo  apt-get  install  libsdl-image1.2-dev  libsdl2-dev  libsdl-ttf2.0-dev

这将安装运行《外星人入侵》时需要的库。如果你要启用Pygame的一些高级功能,如添加声音的功能,可安装下面这些额外的库:

$  sudo  apt-get  install  libsdl-mixer1.2-dev  libportmidi-dev
$  sudo  apt-get  install  libswscale-dev  libsmpeg-dev  libavformat-dev  libavcode-dev
$  sudo  apt-get  install  python-numpy

接下来,执行下面的命令来安装Pygame(如有必要,将pip 替换为pip3 ):

$  pip  install  --user  hg+http:/
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值