Python 外星人射击游戏:简单教程和代码示例
以下是用 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 著作权归作者所有。请勿转载和采集!