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

python--飞机大战

发布时间:2023-02-16 14:09:11 所属栏目:Python 来源:互联网
导读:实现功能: 1:飞机的移动,发射子弹,手雷,生命值,生命条 2:敌飞机有3种形态(小,中,大)不同的飞机大小不一样,生命值不一样,爆炸动画也不一样 3:背景音乐,子弹击中敌机会发生碰撞的爆炸动画和音效 4:随机产生补给(双射子弹和全屏炸弹) 5:难度

                              score += 1000
                              each.reset()
  
              # 绘制敌方中型机
              for each in mid_enemies:
                  if each.active:
                      each.move()
                      if each.hit:
                          screen.blit(each.image_hit,each.rect)
                          each.hit = False
                      else:
                          screen.blit(each.image,each.rect)
  
                      # 绘制血槽
                      pygame.draw.line(screen,2)
                      # 当生命大于20%显示绿色,否则显示红色
                      energy_remain = each.energy / MidEnemy.energy
                      if energy_remain > 0.2:
                          energy_color = GREEN
                      else:
                          energy_color = RED
                      pygame.draw.line(screen,2)
                  else:
                      # 毁灭
                      if e2_destroy_index == 0:
                          enemy2_down_sound.play()
                      if not(delay % 2):
                          screen.blit(each.destroy_images[
                                      e2_destroy_index],each.rect)
                          e2_destroy_index = (e2_destroy_index + 1) % 4
                          if e2_destroy_index == 0:
                              score += 600
                              each.reset()
  
              # 绘制敌方小型机
              for each in small_enemies:
                  if each.active:
                      each.move()
                      screen.blit(each.image,each.rect)
                  else:
                      # 毁灭
                      if e1_destroy_index == 0:
                          enemy1_down_sound.play()
                      if not(delay % 2):
                          screen.blit(each.destroy_images[
                                      e1_destroy_index],each.rect)
                          e1_destroy_index = (e1_destroy_index + 1) % 4
                          if e1_destroy_index == 0:
                              score += 100
                              each.reset()
  
              # 检测我方飞机碰撞
              enemies_down = pygame.sprite.spritecollide(
                  me,pygame.sprite.collide_mask)
              if enemies_down and not me.invincible:
                  me.active = False
                  for each in enemies_down:

(编辑:甘南站长网)

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

推荐文章
    热点阅读