python贪吃蛇完整代码

创建一个简单的贪吃蛇游戏需要使用Python编程语言,并且通常需要使用一些图形库来帮助绘制游戏界面。下面是一个使用pygame库实现的基本贪吃蛇游戏的示例代码。如果你还没有安装pygame,你可以通过运行pip install pygame来安装它。

import pygame
import sys
import random
import time

# 初始化pygame
pygame.init()

# 设置屏幕大小
screen_width = 600
screen_height = 400
screen = pygame.display.set_mode((screen_width, screen_height))

# 设置颜色
black = (0, 0, 0)
white = (255, 255, 255)
red = (213, 50, 80)
green = (0, 255, 0)
blue = (50, 153, 213)

# 设置蛇的初始位置和速度
x1 = 300
y1 = 200
x1_change = 10
y1_change = 0

# 设置食物的初始位置
x2 = 0
y2 = 0

# 蛇的节数
snake_size = 1
snake_list = []
snake_list.append([x1, y1])

# 游戏速度
game_speed = 15

# 游戏循环标志
game_on = True

# 得分
score = 0

# 用于控制游戏的主循环
while game_on:
    for event in pygame.event.get():
        if event.type == pygame.KEYDOWN:
            # 监听按键事件来改变蛇的方向
            if event.key == pygame.K_LEFT:
                x1_change = -10
                y1_change = 0
            elif event.key == pygame.K_RIGHT:
                x1_change = 10
                y1_change = 0
            elif event.key == pygame.K_UP:
                y1_change = -10
                x1_change = 0
            elif event.key == pygame.K_DOWN:
                y1_change = 10
                x1_change = 0
            elif event.key == pygame.K_ESCAPE:
                pygame.event.post(pygame.event.Event(pygame.QUIT))

    # 检测蛇是否撞到自己
    for pos in snake_list[:-1]:
        if pos == [x1, y1]:
            game_on = False

    # 检测蛇是否撞到墙壁
    if x1 >= 600 or x1 < 0 or y1 >= 400 or y1 < 0:
        game_on = False

    # 更新蛇的位置
    x1 += x1_change
    y1 += y1_change
    screen.fill(black)

    # 绘制蛇
    for pos in snake_list:
        pygame.draw.rect(screen, green, [pos[0], pos[1], 10, 10])

    # 随机生成食物位置
    if snake_size > 1:
        x2 = random.randrange(1, (screen_width // 10))
        y2 = random.randrange(1, (screen_height // 10))
        pygame.draw.rect(screen, red, [x2 * 10, y2 * 10, 10, 10])

    # 蛇吃食物
    if x1 == x2 and y1 == y2:
        score += 1
        snake_size += 1
        x2 = 0
        y2 = 0

    # 绘制食物
    pygame.draw.rect(screen, red, [x2 * 10, y2 * 10, 10, 10])

    # 显示得分
    font = pygame.font.Font('freesansbold.ttf', 32)
    text = font.render(f'Score: {score}', True, white)
    screen.blit(text, [0, 0])

    pygame.display.update()

    # 控制游戏速度
    time.sleep(game_speed / 1000.0)

# 退出游戏
pygame.quit()
sys.exit()

这段代码创建了一个基本的贪吃蛇游戏,其中蛇可以在屏幕上移动,并且可以吃掉随机出现的食物。如果蛇撞到自己或者墙壁,游戏就会结束。游戏的得分会随着吃掉食物而增加。你可以运行这段代码来体验游戏,或者根据需要对其进行修改和扩展。

  • 25
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

youyouxiong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值