程序描述:来源于《Python编程从入门到实践》的13章外星人来了。
此为第一阶段:
Python-项目实战-《外星人入侵》Pygame小游戏-阶段一:武装飞船(含教程)_Kox233的博客-CSDN博客
此程序为《外星人入侵》开发的第二个阶段。
主要功能是生成一群外星人,这群外星人能够向两边和下面移动,玩家可以用子弹攻击外星人。被击中的外星人将会被删除。
开发步骤: 1)创建第一个外星人所需素材图片:
alien.bmp
1.1)创建 Alien 类编写Alien类并将其保存为文件 alien.py
alien.py
import pygame
from pygame.sprite import Sprite
class Alien(Sprite):
"""表示单个外星人的类"""
def __init__(self, ai_game):
"""初始化外星人并设置其起始位置"""
super().__init__()
self.screen = ai_game.screen
# 加载外星人图像并设置其 rect 属性
self.image = pygame.image.load('images/alien.bmp')
self.rect = self.image.get_rect()
# 让每个外星人最初都在屏幕左上角附近。
self.rect.x = self.rect.width
self.rect.y = self.rect.height
# 存储外星人的精确水平位置
self.x = float(self.rect.x)
1.2)创建 Alien 实例
下面是 alien_invasion.py 中修改后的 import 语句:
alien_invasion.py
下面是修改后的方法__init__():
alien_invasion.py
创建了一个用于存储外星人群的编组,还调用了接下来将编写的方法_create_fleet()。
下面是新编写的方法_create_fleet():
alien_invasion.py
要让外星人现身,需要在_update_screen()中对外星人编组调用方法draw():
alien_invasion.py
现在屏幕上就能够显示一个外星人了。
2)创建一群外星人
要绘制一群外星人,需要确定一行能容纳多少个外星人以及要绘制多少行。我们将首先计算外星人的水平间距并创建一行外星人,在确定可用的垂直空间并创建整群外星人。
2.1)创建一行外星人重写_create_fleet()使其创建一行外星人:
alien_invasion.py
如果现在运行游戏将会看到一行外星人
2.2)重构_create_fleet()alien_invasion.py
2.3)添加行alien_invasion.py
现在运行将会看到一群外星人



