您好!欢迎来到北极熊

北极熊

热门搜索: 任正非传    神雕侠侣    红楼梦   

一个简单的贪吃蛇游戏代码

分类:软件开发应用 时间:2023-09-14 18:44 浏览:417
概述
以下是一个简单的贪吃蛇游戏代码,使用 Python 和 Pygame 库实现:import pygameimport random# 初始化 Pygame 库pygame.init()# 定义窗口尺寸window_width = 640window_height = 480# 创建 Pygame 窗口game_window = pygame.display.set_mode((window_width, window_height))#
内容

以下是一个简单的贪吃蛇游戏代码,使用 Python 和 Pygame 库实现:



import pygame

import random


# 初始化 Pygame 库

pygame.init()


# 定义窗口尺寸

window_width = 640

window_height = 480


# 创建 Pygame 窗口

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


# 设置窗口标题

pygame.display.set_caption("Snake Game")


# 定义颜色

white = (255, 255, 255)

black = (0, 0, 0)

red = (255, 0, 0)


# 定义蛇的初始位置和长度

snake_pos = [[100, 50], [90, 50], [80, 50]]

snake_len = len(snake_pos)


# 定义蛇的移动方向

direction = "right"


# 定义食物的初始位置

food_pos = [random.randint(10, 50) * 10, random.randint(10, 40) * 10]


# 加载食物图像文件

food_image = pygame.image.load("food.png")


# 设置游戏循环标志位

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_UP and direction != "down":

                direction = "up"

            elif event.key == pygame.K_DOWN and direction != "up":

                direction = "down"

            elif event.key == pygame.K_LEFT and direction != "right":

                direction = "left"

            elif event.key == pygame.K_RIGHT and direction != "left":

                direction = "right"


    # 移动蛇身

    if direction == "up":

        for i in range(snake_len - 1, 0, -1):

            snake_pos[i] = [snake_pos[i - 1][0] - 10, snake_pos[i - 1][1]]

    elif direction == "down":

        for i in range(snake_len - 1, 0, -1):

            snake_pos[i] = [snake_pos[i - 1][0] + 10, snake_pos[i - 1][1]]

    elif direction == "left":

        for i in range(snake_len - 1, 0, -1):

            snake_pos[i] = [snake_pos[i - 1][0], snake_pos[i - 1][1] - 10]

    elif direction == "right":

        for i in range(snake_len - 1, 0, -1):

            snake_pos[i] = [snake_pos[i - 1][0], snake_pos[i - 1][1] + 10]


    # 检查是否吃到食物

    if snake_pos[0] == food_pos:

        # 重置蛇的长度

        snake_len += 1

        # 在蛇的尾部添加一个新的身体部分

        snake_pos.append([snake_pos[-1][0] + int(direction[0]) * 10, snake_pos[-1][1] + int(direction[1]) * 10])

        # 重置食物位置

        food_pos = [random.randint(10, 50) * 10, random.randint(10, 40) * 10]

        # 在屏幕上绘制新的食物图像

        game_window.blit(food_image, food_pos)


    # 清空屏幕并绘制游戏元素

    game_window.fill(black)

    for pos in snake_pos:

        pygame.draw.rect(game_window, white, pygame.Rect(pos[0], pos[1], 10, 10))

    pygame.


评论
资讯正文页右侧广告
联系我们
电话:18936411277
邮箱:1044412291@qq.com
时间:09:00 - 19:00
公众号:北格软件
底部广告