怎么用python实现一个简单的贪吃蛇游戏

下面是一个简单的贪吃蛇游戏的Python实现代码示例:import pygameimport timeimport randompygame.init()# 设置窗口大小win_width = 800win_height = 600win = pygame.display.set_mode((win_width, win_height))pygame.display.set_capt

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

import pygame
import time
import random

pygame.init()

# 设置窗口大小
win_width = 800
win_height = 600
win = pygame.display.set_mode((win_width, win_height))
pygame.display.set_caption("贪吃蛇游戏")

# 设置颜色
black = (0, 0, 0)
white = (255, 255, 255)
red = (255, 0, 0)

# 设置蛇和食物初始位置
snake_block = 10
snake_speed = 15
snake_pos = [(win_width//2, win_height//2)]
food_pos = (random.randint(0, win_width//snake_block - 1) * snake_block, random.randint(0, win_height//snake_block - 1) * snake_block)

# 初始化方向
x_change = 0
y_change = 0

# 游戏主循环
run = True
while run:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                x_change = -snake_block
                y_change = 0
            elif event.key == pygame.K_RIGHT:
                x_change = snake_block
                y_change = 0
            elif event.key == pygame.K_UP:
                x_change = 0
                y_change = -snake_block
            elif event.key == pygame.K_DOWN:
                x_change = 0
                y_change = snake_block
    
    # 更新蛇的位置
    new_pos = (snake_pos[0][0] + x_change, snake_pos[0][1] + y_change)
    snake_pos.insert(0, new_pos)
    
    # 检查蛇是否吃到食物
    if snake_pos[0] == food_pos:
        food_pos = (random.randint(0, win_width//snake_block - 1) * snake_block, random.randint(0, win_height//snake_block - 1) * snake_block)
    else:
        snake_pos.pop()
    
    # 绘制窗口
    win.fill(black)
    for pos in snake_pos:
        pygame.draw.rect(win, white, (pos[0], pos[1], snake_block, snake_block))
    pygame.draw.rect(win, red, (food_pos[0], food_pos[1], snake_block, snake_block))
    
    pygame.display.update()
    
    # 控制蛇的速度
    pygame.time.Clock().tick(snake_speed)
    
# 退出游戏
pygame.quit()

这段代码实现了一个简单的贪吃蛇游戏,玩家可以通过方向键控制蛇的移动方向,吃到食物会增加蛇的长度,如果蛇撞到墙壁或者撞到自己就会游戏结束。希望对你有帮助!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/949851.html

(0)
派派
上一篇 2024-03-22
下一篇 2024-03-22

相关推荐

  • 如何在CentOS中安装和配置Git版本控制系统

    在CentOS中安装和配置Git版本控制系统,可以按照以下步骤进行操作:安装Git:sudo yum install git配置Git的用户信息:git config –global user.name “Your Name”git config –global user.email “youremail@example.com”生成SSH密钥:ssh-keygen -t rsa -b 40

    2024-03-15
    0
  • 新启旺刷流水(新启旺入口)

    新启旺刷流水,新启旺入口内容导航:云联惠3300亿骗局崩盘后受害者却蹊跷不报案催旺风水局的流水物是什么新买的洗衣机把手边流水有了解江苏启旺机械设备的吗一、云联惠3300亿骗局崩盘后受害者却蹊跷不报案虽然传销案件并不鲜见,但这一次事态显然要严重的多,更令人啧

    2022-04-20
    0
  • c语言怎么判断字符类型

    在C语言中,可以使用标准库函数isalpha()、isdigit()、isspace()等来判断字符的类型。例如,要判断一个字符是否为字母,可以使用isalpha()函数:char ch = 'A';if (isalpha(ch)) {printf(“%c 是一个字母\n”, ch);} else {printf(“%c 不是一个字母\n”, ch);}要判断一个字符

    2024-05-07
    0
  • 网不稳定是什么原因(为什么网不稳定)

    网不稳定是什么原因,为什么网不稳定 内容导航: 网速不稳定的原因是什么 为什么电脑网络不稳定、老是掉线 家庭网络不稳定原因是什么。 wifi不稳定总断网是什么原因 一、网速不稳定的…

    2022-08-26
    0
  • linux如何修改ssh端口

    要修改SSH端口,可以按照以下步骤进行操作:使用文本编辑器打开SSH配置文件。在大多数Linux系统上,SSH配置文件通常位于/etc/ssh/sshd_config中。可以使用如下命令打开该文件:sudo nano /etc/ssh/sshd_config在配置文件中找到并修改“Port”行。在文件中搜索“#Port”,将其取消注释并将端口号修改为你想要的新端口号。例如,将端口号修改为2222:

    2024-03-18
    0
  • php中file_exists函数的用法是什么

    file_exists函数用于检查文件或目录是否存在。其语法如下:bool file_exists ( string $filename )参数$filename为要检查的文件或目录的路径。如果文件或目录存在,则返回true;否则返回false。下面是一个示例:if (file_exists(“myfile.txt”)) {echo “文件存在”;} else {echo “文件不存在”;

    2024-02-20
    0

发表回复

登录后才能评论