pygame入门小游戏(外星人入侵(6) 外星飞船来啦!)

既然我们的飞船都能发射子弹了,那么接下来我们添加一些敌机(外星飞船)给游戏增加点乐趣。

我们的思路是让敌机随机从屏幕上空下来,并且在每一次循环中都向下移动,飞船的速度会变化,当飞出屏幕下方后,就回到屏幕上方重新开始。

import pygame
import random
class Alien():
    def restart(self):
        #重置外星飞船的位置和速度(self.x的范围可以在保证敌机在屏幕内的情况下随意给定)
        self.x = random.randint(66, 734)
        self.y = random.randint(-166, -66)
        self.speed = random.random() + 0.1

    def __init__(self):
        #初始化
        self.restart()
        self.image = pygame.image.load(r'images\alien.bmp')

    def move(self):
        if self.y < 600:
            #向下移动
            self.y += self.speed
        else:
            #重置
            self.restart()

然后在update_screen()中添加外星飞船来更新它的位置,

#这里只写出修改的部分
def update_screen(my_setting, screen, ship, bullets, aliens):
    .........................................
    screen.blit(aliens.image, (aliens.x, aliens.y))

然后在主程序中导入Alien()就好

运行程序,我们看到飞船随机的从屏幕上方飞下
pygame入门小游戏(外星人入侵(6) 外星飞船来啦!)_第1张图片
pygame入门小游戏(外星人入侵(6) 外星飞船来啦!)_第2张图片

此时,发射子弹或者敌机碰到我方飞船,并不会导致我方飞船爆炸。。。。。。T-T

…………………………………………………………………………………………………………………………………………………………………..
T-T好吧 ,本来是看着课本上的程序有点无聊,想着让外星飞船随机的落下来。不过怎么调试,都不能实现击落它(刚开始玩儿pygame……),整整搞了一天也没成功,先这样吧,有空了再修改下,
ppppp:写这个东西也就是记录下自己的学习历程,没课的时候写一点,感觉挺好的,那么,等能实现击落敌机再见O.o

你可能感兴趣的:(pygame)