python--飞机大战
发布时间:2023-02-16 14:09:11 所属栏目:Python 来源:互联网
导读:实现功能: 1:飞机的移动,发射子弹,手雷,生命值,生命条 2:敌飞机有3种形态(小,中,大)不同的飞机大小不一样,生命值不一样,爆炸动画也不一样 3:背景音乐,子弹击中敌机会发生碰撞的爆炸动画和音效 4:随机产生补给(双射子弹和全屏炸弹) 5:难度
self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left,self.rect.top = randint(0,self.width - self.rect.width),randint(-5 * self.height,0) self.active = True self.energy = SmallEnemy.energy class MidEnemy(pygame.sprite.Sprite): energy = 8 def __init__(self,bg_size): super(MidEnemy,self).__init__() self.image = pygame.image.load('images/enemy2.png').convert_alpha() self.destroy_images = [] self.destroy_images.extend([ pygame.image.load('images/enemy2_down1.png').convert_alpha(),pygame.image.load('images/enemy2_down2.png').convert_alpha(),pygame.image.load('images/enemy2_down3.png').convert_alpha(),pygame.image.load('images/enemy2_down4.png').convert_alpha() ]) self.image_hit = pygame.image.load('images/enemy2_hit.png').convert_alpha() self.rect = self.image.get_rect() self.width,bg_size[1] self.active = True self.speed = 1 self.mask = pygame.mask.from_surface(self.image) self.reset() self.energy = MidEnemy.energy self.hit = False def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left,randint(-10 * self.height,-self.height) self.active = True self.energy = MidEnemy.energy class BigEnemy(pygame.sprite.Sprite): energy = 20 def __init__(self,bg_size): super(BigEnemy,self).__init__() self.image1 = pygame.image.load('images/enemy3_n1.png').convert_alpha() self.image2 = pygame.image.load('images/enemy3_n2.png').convert_alpha() self.destroy_images = [] self.destroy_images.extend([ pygame.image.load('images/enemy3_down1.png').convert_alpha(),pygame.image.load('images/enemy3_down2.png').convert_alpha(),pygame.image.load('images/enemy3_down3.png').convert_alpha(),pygame.image.load('images/enemy3_down4.png').convert_alpha(),pygame.image.load('images/enemy3_down5.png').convert_alpha(),pygame.image.load('images/enemy3_down6.png').convert_alpha() ]) self.image_hit = pygame.image.load('images/enemy3_hit.png').convert_alpha() self.rect = self.image1.get_rect() self.width,bg_size[1] self.active = True self.speed = 1 self.mask = pygame.mask.from_surface(self.image1) self.appear = False self.reset() self.energy = BigEnemy.energy self.hit = False def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.reset() def reset(self): self.rect.left,self.rect.top = randint(0,randint(-20 * self.height,-10 * self.height) self.active = True self.energy = BigEnemy.energy # 设置补给:# 设置补给:# 设置补给:# 设置补给:# 设置补给 class Bullet_Supply(pygame.sprite.Sprite): def __init__(self,bg_size): super(Bullet_Supply,self).__init__() self.image = pygame.image.load('images/bullet_supply.png').convert_alpha() self.rect = self.image.get_rect() self.width,bg_size[1] self.rect.left,self.rect.bottom = randint(0,-100 self.speed = 5 self.active = False self.mask = pygame.mask.from_surface(self.image) def move(self): if self.rect.top < self.height: self.rect.top += self.speed else: self.active = False def reset(self): self.active = True self.rect.left,-100 class Bomb_Supply(pygame.sprite.Sprite): def __init__(self,bg_size): super(Bomb_Supply,self).__init__() self.image = pygame.image.load('images/bomb_supply.png').convert_alpha() self.rect = self.image.get_rect() self.width,-100 # 设置我方发射子弹类 class Bullet1(pygame.sprite.Sprite): def __init__(self,position): super(Bullet1,self).__init__() (编辑:甘南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |