当前位置: 首页 游戏新闻

python简单小游戏代码 python简单小游戏代码贪吃蛇

时间:2023-08-10 作者: 小编 阅读量: 1 栏目名: 游戏新闻 文档下载

你可以使用键盘方向键来控制蛇的移动,吃到食物后蛇的长度会增加,并且游戏会在蛇触碰到墙壁或自身时结束。

下面是一个贪吃蛇游戏的简单代码示例:

```python

import pygame

import random

# 初始化游戏

pygame.init()

# 游戏窗口大小

window_width = 800

window_height = 600

# 蛇和食物的大小

snake_size = 20

food_size = 20

# 游戏窗口

window = pygame.display.set_mode((window_width, window_height))

pygame.display.set_caption('贪吃蛇')

# 蛇的初始位置和方向

snake_x = window_width // 2

snake_y = window_height // 2

snake_direction = 'right'

# 蛇的身体列表

snake_body = []

snake_length = 1

# 食物的初始位置

food_x = random.randint(0, (window_width - food_size) // food_size) * food_size

food_y = random.randint(0, (window_height - food_size) // food_size) * food_size

# 游戏主循环

running = True

clock = pygame.time.Clock()

while running:

# 设置帧率

clock.tick(10)

# 处理游戏事件

for event in pygame.event.get():

if event.type == pygame.QUIT:

running = False

# 键盘输入

keys = pygame.key.get_pressed()

if keys[pygame.K_UP] and snake_direction != 'down':

snake_direction = 'up'

elif keys[pygame.K_DOWN] and snake_direction != 'up':

snake_direction = 'down'

elif keys[pygame.K_LEFT] and snake_direction != 'right':

snake_direction = 'left'

elif keys[pygame.K_RIGHT] and snake_direction != 'left':

snake_direction = 'right'

# 更新蛇的位置

if snake_direction == 'up':

snake_y -= snake_size

elif snake_direction == 'down':

snake_y += snake_size

elif snake_direction == 'left':

snake_x -= snake_size

elif snake_direction == 'right':

snake_x += snake_size

# 判断蛇是否吃到食物

if snake_x == food_x and snake_y == food_y:

snake_length += 1

food_x = random.randint(0, (window_width - food_size) // food_size) * food_size

food_y = random.randint(0, (window_height - food_size) // food_size) * food_size

# 更新蛇的身体

snake_body.append((snake_x, snake_y))

if len(snake_body) > snake_length:

del snake_body[0]

# 判断蛇是否触碰到墙壁或自身

if snake_x < 0 or snake_x >= window_width or snake_y < 0 or snake_y >= window_height:

running = False

for segment in snake_body[:-1]:

if segment == (snake_x, snake_y):

running = False

# 绘制游戏界面

window.fill((0, 0, 0))

pygame.draw.rect(window, (255, 0, 0), (food_x, food_y, food_size, food_size))

for segment in snake_body:

pygame.draw.rect(window, (0, 255, 0), (segment[0], segment[1], snake_size, snake_size))

# 更新游戏显示

pygame.display.update()

# 游戏结束

pygame.quit()

```

运行以上代码,你将看到一个简单的贪吃蛇小游戏窗口。你可以使用键盘方向键来控制蛇的移动,吃到食物后蛇的长度会增加,并且游戏会在蛇触碰到墙壁或自身时结束。