请选择 进入手机版 | 继续访问电脑版

《零基础入门学习Python》第090讲:Pygame:飞机大战1

[复制链接]
盛夏丨光年丶 发表于 2021-1-1 18:30:41 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
不知道大家平时有没有玩过飞机大战的游戏,从这节课开始,我们就来实现一个飞机大战的游戏,详细要求如下:
  游戏的根本设定:
  敌方共有大中小3款飞机,分为高中低三种速度;
  子弹的射程并非全屏,而大概是屏幕长度的80%;
  消灭小飞机需要 1 发子弹,中飞机需要 8 发,大飞机需要 20 发子弹;
  每消灭一架小飞机得1000分,中飞机6000分,大飞机10000分;
  每个30秒有一个随机的道具补给,分为两种道具,全屏炸弹和双倍子弹;
  全屏炸弹最多只能存放 3 枚,双倍子弹可以维持 18 秒钟的效果;
  游戏将根据分数来逐步提高难度,难度的提高体现为 飞机数量的增多以及速度的加速;
  为中飞机和大飞机增加了血槽的显示,这样我们可以直观的知道敌机快被消灭了没有;
  我方有三次时机,每次被敌人消灭,新诞生的飞时机有 3 秒钟的安全期;
  游戏竣事后会显示汗青最高分数。
现在我们就来从无到有,从简单到复杂一起来打造这个游戏吧。
首先,我们把可以独立分开的代码独立为一个一个的模块,如图所示:

  main.py:就是主步伐;
  bullet.py:就是子弹,子弹有两种,单发和双发;
  enemy.py:就是敌机,共有大中小三种,而且都有差别的属性;
  myplane.py:就是我的飞机;
  supply.py:就是补给和装备;
  record.txt:生存的最高分;
  三个文件夹就是需要的素材。
现在我们就开始写代码了:
首先是我们的 main 模块:
  1. import pygameimport sysimport traceback #为了更好地退出from pygame.locals import *pygame.init()pygame.mixer.init()  #混音器初始化bg_size = width, height = 480, 700screen = pygame.display.set_mode(bg_size)pygame.display.set_caption("飞机大战 -- Python Demo")background = pygame.image.load("images/background.png").convert()# 载入游戏音乐pygame.mixer.music.load("sound/game_music.ogg")pygame.mixer.music.set_volume(0.2)bullet_sound = pygame.mixer.Sound("sound/bullet.wav")bullet_sound.set_volume(0.2)bomb_sound = pygame.mixer.Sound("sound/use_bomb.wav")bomb_sound.set_volume(0.2)supply_sound = pygame.mixer.Sound("sound/supply.wav")supply_sound.set_volume(0.2)get_bomb_sound = pygame.mixer.Sound("sound/get_bomb.wav")get_bomb_sound.set_volume(0.2)get_bullet_sound = pygame.mixer.Sound("sound/get_bullet.wav")get_bullet_sound.set_volume(0.2)upgrade_sound = pygame.mixer.Sound("sound/upgrade.wav")upgrade_sound.set_volume(0.2)enemy3_fly_sound = pygame.mixer.Sound("sound/enemy3_flying.wav")enemy3_fly_sound.set_volume(0.2)enemy1_down_sound = pygame.mixer.Sound("sound/enemy1_down.wav")enemy1_down_sound.set_volume(0.2)enemy2_down_sound = pygame.mixer.Sound("sound/enemy2_down.wav")enemy2_down_sound.set_volume(0.2)enemy3_down_sound = pygame.mixer.Sound("sound/enemy3_down.wav")enemy3_down_sound.set_volume(0.5)me_down_sound = pygame.mixer.Sound("sound/me_down.wav")me_down_sound.set_volume(0.2)def main():        pygame.mixer.music.play(-1)        clock = pygame.time.Clock()        running = True        while running:                for event in pygame.event.get():                        if event.type == QUIT:                                pygame.quit()                                sys.exit()                screen.blit(background, (0, 0))                pygame.display.flip()                clock.tick(60)if __name__ == "__main__":        try:                main()        except SystemExit:                pass        except:                traceback.print_exc()                pygame.quit()                input()               
复制代码

至此,我们游戏的背景和背景音乐就实现了。
大家可以先实验着实现一下别的的功能,在这个过程中,你一定会遇到很多的问题,但是在办理这些问题的过程中,你肯定会学习到更多的知识。

来源:https://blog.csdn.net/qq_41556318/article/details/85942920
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题

专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )