python及pygame雷霆战机游戏项目实战14 游戏开始结束界面

简介: python及pygame雷霆战机游戏项目实战14 游戏开始结束界面

项目详细介绍


项目详细介绍

在这个系列中,将制作一个雷霆战机游戏。


image.png


游戏结束

现在,当玩家用完生命时,程序就会突然结束。这不是很友好。

所以将制作一个“Game Over”屏幕,并允许玩家再次玩。

“Game Over”屏幕在2种情况下显示:

  • 游戏程序刚刚启动后
  • 玩家3条命都用完

游戏结束的原因是游戏循环由running变量控制,设置running为False玩家死亡时。现在想要跟踪游戏状态(显示游戏结束或玩游戏),将创建一个名为game_over的标志,并将其添加到游戏循环的顶部:

# Game loop
game_over = True
running = True
while running:
    if game_over:
        show_go_screen()

稍后会定义show_go_screen()。

目前还需要考虑别的事情。

当游戏结束,通过屏幕进入游戏时,如果玩家再次选择游戏,需要重置所有内容 - 得分,流星,玩家的生命等等。现在在游戏开始前设置这些东西,但现在要将它们移动到show_go_screen()之后,show_go_screen()函数运行结束后,它们会发生:

# Game loop
game_over = True
running = True
while running:
    if game_over:
        show_go_screen()
        game_over = False
        all_sprites = pygame.sprite.Group()
        mobs = pygame.sprite.Group()
        bullets = pygame.sprite.Group()
        powerups = pygame.sprite.Group()
        player = Player()
        all_sprites.add(player)
        for i in range(8):
            newmob()
        score = 0

还设置game_over到False,因为正在开始一个新的游戏。然后,可以改变玩家用完生命时发生的事情--- game_over = True

# if the player died and the explosion has finished playing
if player.lives == 0 and not death_explosion.alive():
    game_over = True

游戏结束屏幕

现在只需要定义什么show_go_screen。因为在这个例子中,只做一个“屏幕”,只是要使用游戏的标题,并提供一些很好的说明如何玩:

def show_go_screen():
      screen.blit(background, background_rect)
    draw_text(screen, "雷霆战机!", 64, WIDTH / 2, HEIGHT / 4)
    draw_text(screen, "方向键移动, 空格键开火", 22,
              WIDTH / 2, HEIGHT / 2)
    draw_text(screen, "按下任意键开始游戏", 18, WIDTH / 2, HEIGHT * 3 / 4)
    pygame.display.flip()
    waiting = True
    while waiting:
        clock.tick(FPS)
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
            if event.type == pygame.KEYUP:
                waiting = False

show_go_screen()函数里面运行一个死循环,直到用户按下任意键后,退出死循环,结束函数。


image.png


项目源码及资源


获取地址


目录
相关文章
|
8月前
|
存储 人工智能 运维
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
452 48
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
|
4月前
|
程序员 Python
使用CodeBuddy基于Pygame模块实现贪吃蛇游戏
在上班时间用 CodeBuddy 搞贪吃蛇游戏,一开始我还有点小愧疚,但现在回头想想,这简直是我打工人生活里的高光时刻!既能缓解压力,又能激发创造力、提升技术,妥妥的 “摸鱼赢家”!下次摸鱼,我准备再整点新花样,搞个俄罗斯方块啥的,美滋滋!
96 11
使用CodeBuddy基于Pygame模块实现贪吃蛇游戏
|
3月前
|
人工智能 搜索推荐 数据可视化
用 Python 制作简单小游戏教程:手把手教你开发猜数字游戏
本教程详细讲解了用Python实现经典猜数字游戏的完整流程,涵盖从基础规则到高级功能的全方位开发。内容包括游戏逻辑设计、输入验证与错误处理、猜测次数统计、难度选择、彩色输出等核心功能,并提供完整代码示例。同时,介绍了开发环境搭建及调试方法,帮助初学者快速上手。最后还提出了图形界面、网络对战、成就系统等扩展方向,鼓励读者自主创新,打造个性化游戏版本。适合Python入门者实践与进阶学习。
228 1
|
8月前
|
人工智能 Python
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
226 7
|
8月前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
316 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
8月前
|
Java 图形学 Python
用Python和Pygame打造绚丽烟花效果+节日祝福语
本文介绍了一款基于Python和Pygame库实现的烟花效果程序,模拟烟花发射、爆炸及粒子轨迹,结合动态文本显示祝福语,营造逼真的节日氛围。程序包括烟花类、粒子类、痕迹类和动态文本显示功能,通过随机化颜色、速度和粒子数量增加效果多样性。用户可以看到烟花从屏幕底部发射、上升并在空中爆炸,伴随粒子轨迹和动态祝福语“蛇年大吉”、“Happy Spring Festival”。文章详细解析了核心代码逻辑和技术要点,帮助读者理解如何利用Pygame库实现复杂视觉效果,并提供了未来改进方向,如优化性能、增加特效和增强交互性。
293 20
用Python和Pygame打造绚丽烟花效果+节日祝福语
|
9月前
|
Python
课程设计项目之基于Python实现围棋游戏代码
游戏进去默认为九路玩法,当然也可以选择十三路或是十九路玩法 使用pycharam打开项目,pip安装模块并引用,然后运行即可, 代码每行都有详细的注释,可以做课程设计或者毕业设计项目参考
177 33
|
6月前
|
机器学习/深度学习 存储 设计模式
Python 高级编程与实战:深入理解性能优化与调试技巧
本文深入探讨了Python的性能优化与调试技巧,涵盖profiling、caching、Cython等优化工具,以及pdb、logging、assert等调试方法。通过实战项目,如优化斐波那契数列计算和调试Web应用,帮助读者掌握这些技术,提升编程效率。附有进一步学习资源,助力读者深入学习。
|
3月前
|
Python
Python编程基石:整型、浮点、字符串与布尔值完全解读
本文介绍了Python中的四种基本数据类型:整型(int)、浮点型(float)、字符串(str)和布尔型(bool)。整型表示无大小限制的整数,支持各类运算;浮点型遵循IEEE 754标准,需注意精度问题;字符串是不可变序列,支持多种操作与方法;布尔型仅有True和False两个值,可与其他类型转换。掌握这些类型及其转换规则是Python编程的基础。
200 33
|
2月前
|
数据采集 分布式计算 大数据
不会Python,还敢说搞大数据?一文带你入门大数据编程的“硬核”真相
不会Python,还敢说搞大数据?一文带你入门大数据编程的“硬核”真相
75 1

热门文章

最新文章

推荐镜像

更多