以下是用 Python 编写的一个简单的外星人射击游戏的代码示例:

import pygame
from pygame.locals import *
import random

# 初始化游戏
pygame.init()

# 设置游戏窗口大小
 screen = pygame.display.set_mode((480, 640))

# 加载背景图像
background = pygame.image.load('background.png').convert()

# 加载玩家飞船图像
player = pygame.image.load('player.png').convert_alpha()

# 加载外星人图像
alien = pygame.image.load('alien.png').convert_alpha()

# 获取飞船的矩形区域
player_rect = player.get_rect()

# 设置飞船的初始位置
player_rect.topleft = (240, 560)

# 初始化外星人的位置和速度
alien_rect = alien.get_rect()
alien_rect.topleft = (random.randint(0, 416), random.randint(0, 128))
alien_speed = 2

# 初始化玩家的得分
score = 0

# 设置游戏时钟
clock = pygame.time.Clock()

# 游戏循环
running = True
while running:
    for event in pygame.event.get():
        if event.type == QUIT:
            running = False

    # 获取键盘按键状态
    keys = pygame.key.get_pressed()
    if keys[K_LEFT]:
        player_rect.left -= 5
    if keys[K_RIGHT]:
        player_rect.left += 5

    # 更新外星人的位置
alien_rect.top += alien_speed
    if alien_rect.top > 640:
        alien_rect.topleft = (random.randint(0, 416), random.randint(0, 128))
        score += 1

    # 检测碰撞
    if player_rect.colliderect(alien_rect):
        running = False

    # 绘制背景图像
    screen.blit(background, (0, 0))

    # 绘制玩家飞船图像
    screen.blit(player, player_rect.topleft)

    # 绘制外星人图像
    screen.blit(alien, alien_rect.topleft)

    # 绘制得分
    font = pygame.font.Font(None, 36)
    score_text = font.render('Score: ' + str(score), True, (255, 255, 255))
    screen.blit(score_text, (10, 10))

    # 更新游戏画面
    pygame.display.update()

    # 设置游戏帧率
    clock.tick(60)

# 游戏结束
pygame.quit()

在运行代码之前,需要将背景图像、玩家飞船图像和外星人图像准备好,并将它们放在与代码相同的目录下。


原文地址: https://www.cveoy.top/t/topic/qyg0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录