返回

程序员奶爸必修课——用pygame写小游戏

后端

在成为奶爸之前,我从未想过自己会有一天为了哄孩子玩耍而学习写小游戏。但自从有了儿子之后,我就不得不面临这样的挑战。为了让儿子消停一会,让我安静地打盘王者,我灵机一动,决定用Python和Pygame库写一个小游戏给他玩。

Pygame是一个功能强大的游戏开发库,它可以帮助我们轻松地创建各种各样的游戏。Pygame的安装非常简单,只需要在终端中输入pip install pygame即可。

在安装好Pygame库之后,我们就可以开始编写小游戏了。首先,我们需要创建一个新的Python文件,并将以下代码复制到其中:

import pygame

# 初始化Pygame
pygame.init()

# 设置游戏窗口的大小
screen = pygame.display.set_mode((800, 600))

# 设置游戏标题
pygame.display.set_caption("我的第一个小游戏")

# 创建一个时钟对象,用于控制游戏循环的帧速率
clock = pygame.time.Clock()

# 游戏循环
while True:

    # 获取用户输入
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

    # 更新游戏状态

    # 渲染游戏画面

    # 更新游戏显示
    pygame.display.update()

    # 控制游戏循环的帧速率
    clock.tick(60)

这段代码创建了一个基本的游戏窗口,并设置了游戏标题和帧速率。接下来,我们需要添加游戏的内容。我们可以添加一个精灵,让它在屏幕上移动。精灵是一个游戏中的可移动对象,我们可以用它来创建玩家角色、敌人或其他游戏元素。

要创建一个精灵,我们可以使用pygame.sprite.Sprite()函数。以下代码创建一个简单的精灵:

import pygame

# 初始化Pygame
pygame.init()

# 设置游戏窗口的大小
screen = pygame.display.set_mode((800, 600))

# 设置游戏标题
pygame.display.set_caption("我的第一个小游戏")

# 创建一个时钟对象,用于控制游戏循环的帧速率
clock = pygame.time.Clock()

# 创建一个精灵
player = pygame.sprite.Sprite()

# 设置精灵的图像
player.image = pygame.Surface((50, 50))
player.image.fill((255, 0, 0))

# 设置精灵的位置
player.rect = player.image.get_rect()
player.rect.center = (400, 300)

# 游戏循环
while True:

    # 获取用户输入
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

    # 更新游戏状态

    # 渲染游戏画面
    screen.fill((0, 0, 0))
    screen.blit(player.image, player.rect)

    # 更新游戏显示
    pygame.display.update()

    # 控制游戏循环的帧速率
    clock.tick(60)

这段代码创建了一个红色的精灵,并将其放置在屏幕的中央。现在,我们可以让精灵在屏幕上移动。我们可以通过以下代码来实现:

import pygame

# 初始化Pygame
pygame.init()

# 设置游戏窗口的大小
screen = pygame.display.set_mode((800, 600))

# 设置游戏标题
pygame.display.set_caption("我的第一个小游戏")

# 创建一个时钟对象,用于控制游戏循环的帧速率
clock = pygame.time.Clock()

# 创建一个精灵
player = pygame.sprite.Sprite()

# 设置精灵的图像
player.image = pygame.Surface((50, 50))
player.image.fill((255, 0, 0))

# 设置精灵的位置
player.rect = player.image.get_rect()
player.rect.center = (400, 300)

# 游戏循环
while True:

    # 获取用户输入
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

    # 更新游戏状态
    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT]:
        player.rect.x -= 5
    if keys[pygame.K_RIGHT]:
        player.rect.x += 5
    if keys[pygame.K_UP]:
        player.rect.y -= 5
    if keys[pygame.K_DOWN]:
        player.rect.y += 5

    # 渲染游戏画面
    screen.fill((0, 0, 0))
    screen.blit(player.image, player.rect)

    # 更新游戏显示
    pygame.display.update()

    # 控制游戏循环的帧速率
    clock.tick(60)

这段代码通过获取键盘输入来控制精灵的移动。当玩家按下左、右、上、下箭头键时,精灵会相应地移动。

现在,我们就拥有了一个可以移动的精灵。我们可以继续添加更多的游戏元素,比如敌人、障碍物和道具,让游戏变得更加有趣。