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: (编辑:甘南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |