Python休闲小游戏代码:吃食物,躲障碍
以下是一个简单的休闲类小游戏代码,使用Python语言编写,采用Pygame库。游戏的目标是尽可能多地吃到食物,同时避免碰到障碍物。
import pygame
import random
# 初始化Pygame
pygame.init()
# 设置游戏屏幕大小
screen_width = 800
screen_height = 600
screen = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_caption('小游戏')
# 定义颜色
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
# 定义游戏元素
player_size = 50
player_pos = [screen_width / 2, screen_height / 2]
player_speed = 10
food_size = 25
food_pos = [random.randint(0, screen_width - food_size), random.randint(0, screen_height - food_size)]
obstacle_size = 50
obstacle_pos = [random.randint(0, screen_width - obstacle_size), random.randint(0, screen_height - obstacle_size)]
# 定义字体
font = pygame.font.SysFont(None, 25)
# 定义分数
score = 0
# 定义游戏结束标志
game_over = False
# 游戏循环
while not game_over:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
game_over = True
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
player_pos[0] -= player_speed
elif event.key == pygame.K_RIGHT:
player_pos[0] += player_speed
elif event.key == pygame.K_UP:
player_pos[1] -= player_speed
elif event.key == pygame.K_DOWN:
player_pos[1] += player_speed
# 清除屏幕
screen.fill(BLACK)
# 绘制游戏元素
pygame.draw.rect(screen, BLUE, (player_pos[0], player_pos[1], player_size, player_size))
pygame.draw.rect(screen, RED, (food_pos[0], food_pos[1], food_size, food_size))
pygame.draw.rect(screen, GREEN, (obstacle_pos[0], obstacle_pos[1], obstacle_size, obstacle_size))
# 更新分数
if player_pos[0] == food_pos[0] and player_pos[1] == food_pos[1]:
score += 1
food_pos = [random.randint(0, screen_width - food_size), random.randint(0, screen_height - food_size)]
# 检查碰撞
if player_pos[0] >= obstacle_pos[0] and player_pos[0] <= obstacle_pos[0] + obstacle_size:
if player_pos[1] >= obstacle_pos[1] and player_pos[1] <= obstacle_pos[1] + obstacle_size:
game_over = True
# 绘制分数
score_text = 'Score: ' + str(score)
score_display = font.render(score_text, True, WHITE)
screen.blit(score_display, (10, 10))
# 更新屏幕
pygame.display.update()
# 退出Pygame
pygame.quit()
在游戏中,使用方向键控制角色移动。当角色碰到食物时,分数会增加,并且食物会在屏幕中随机生成。当角色碰到障碍物时,游戏结束。在游戏结束时,程序会退出Pygame并停止运行。
原文地址: https://www.cveoy.top/t/topic/okgA 著作权归作者所有。请勿转载和采集!