当前位置:   article > 正文

python贪吃蛇完整代码_python贪吃蛇代码

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()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111

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

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号