Python学习笔记41:游戏篇之外星人入侵(二)

前言

在上一篇文章,我们已经创建好了项目目录,在今天,我们主要编写入口模块的功能。

main

main.py模块是我们游戏程序的入口,所有我们需要在模块中编写游戏主启动以及主页面相关的代码。

在这里插入图片描述
当前我们的main模块是这样的,这是我们创建项目时默认生成一些代码,接下来我们就要进行我们自己游戏代码的编写。

run_game()

默认的main函数中调用了一个print_hi()函数,我们需要做的就是将这个函数改成我们的启动游戏的函数,可以叫run_game(),也可以简单点叫start()。这个都无所谓,看个人喜好。

修改后的代码如下:

def run_game():
    """启动游戏"""
    print("游戏启动啦")


if __name__ == '__main__':
    run_game()

执行结果如下:

在这里插入图片描述
很明显可以看到,运行栏输出了游戏启动的信息。

我们实际游戏的启动当然没有这么简单了,所以让我们开始编写一个pygame游戏的启动代码吧。

pygame

实际的游戏启动,肯定不是打印一句话就完事的。首先我们需要创建一个窗口,同时给窗口命名为我们的游戏的名字,同时定义一下退出游戏和退出程序的事件。

这些功能代码实现如下:

import sys
import pygame


def run_game():
    """启动游戏"""

    # 初始化pygame
    pygame.init()
    # 新建窗口
    screen = pygame.display.set_mode((1200, 800))
    # 窗口命名
    pygame.display.set_caption("alien_invasion")

    while True:
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                sys.exit()
        # 刷新屏幕
        pygame.display.flip()
    

if __name__ == '__main__':
    run_game()

这个时候我们再执行一下程序:
在这里插入图片描述
我们的电脑正常弹出了一个窗口,窗口的名字就是我们的的游戏名:alien_invasion,假如我们关闭窗口,游戏也就结束了,同时我们的程序也执行结束了。

ps:这里其实很熟悉了,之前文章就专门讲过,为的就是到了这里不掉链子。起码到目前为止,是不是还是一切尽在掌握之中 >.<

结尾

我们的主函数的内容已经编写好了。在主函数中,我们编写了游戏创建的创建和关闭游戏窗口对应的事件处理。后面,我们就开始进行游戏中的功能的编写了。

注意,目前我们以完成游戏功能为主,也就是说我们先实现飞船加载,移动,射击,外星人加载,移动,被击中等功能。我们会将这一部分代码同编写完后,后面一步步再优化游戏的细节,比如积分,背景音乐等等。

相关推荐

  1. Python 实践——外星人入侵游戏(上)

    2024-07-20 22:32:03       48 阅读
  2. PyTorch学习笔记基础函数(十

    2024-07-20 22:32:03       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-20 22:32:03       106 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 22:32:03       116 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 22:32:03       95 阅读
  4. Python语言-面向对象

    2024-07-20 22:32:03       103 阅读

热门阅读

  1. springboot3.2 RedisCacheManager配置

    2024-07-20 22:32:03       28 阅读
  2. springSecurity学习之springSecurity简介

    2024-07-20 22:32:03       30 阅读
  3. 分布式锁-redisson锁重试和WatchDog机制

    2024-07-20 22:32:03       20 阅读
  4. Photoshop图层类型

    2024-07-20 22:32:03       25 阅读
  5. (一)js前端开发中设计模式前篇之对象

    2024-07-20 22:32:03       27 阅读
  6. 网络安全-网络安全及其防护措施6

    2024-07-20 22:32:03       25 阅读
  7. [C++ 入门基础 - 命名空间]

    2024-07-20 22:32:03       21 阅读
  8. SharedPreferences 和 MMKV 是何方神圣

    2024-07-20 22:32:03       25 阅读
  9. 力扣1942.最小未被占据椅子的编号

    2024-07-20 22:32:03       25 阅读