加入收藏 | 设为首页 | 会员中心 | 我要投稿 甘南站长网 (https://www.0941zz.com/)- 科技、行业物联网、开发、云计算、云管理!
当前位置: 首页 > 编程开发 > Python > 正文

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__()

(编辑:甘南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读