百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

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

off999 2024-12-11 16:26 20 浏览 0 评论


import pygame

import random

# 初始化 pygame

pygame.init()

# 设置游戏窗口大小

window_width = 800

window_height = 600

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

pygame.display.set_caption("贪吃蛇游戏")

# 定义颜色

white = (255, 255, 255)

black = (0, 0, 0)

red = (255, 0, 0)

green = (0, 255, 0)

# 蛇的方块大小和初始速度

block_size = 20

snake_speed = 15

# 定义字体

font_style = pygame.font.SysFont(None, 50)

def message(msg, color):

mesg = font_style.render(msg, True, color)

window.blit(mesg, [window_width / 6, window_height / 3])

# 绘制蛇

def draw_snake(snake_block, snake_list):

for x in snake_list:

pygame.draw.rect(window, green, [x[0], x[1], snake_block, snake_block])

# 游戏主循环

def game_loop():

game_over = False

game_close = False


x1 = window_width / 2

y1 = window_height / 2


x1_change = 0

y1_change = 0


snake_list = []

length_of_snake = 1


foodx = round(random.randint(0, (window_width - block_size) / block_size)) * block_size

foody = round(random.randint(0, (window_height - block_size) / block_size)) * block_size


while not game_over:


while game_close:

window.fill(white)

message("游戏结束!按Q退出或C重新开始", red)

pygame.display.update()


for event in pygame.event.get():

if event.type == pygame.KEYDOWN:

if event.key == pygame.K_q:

game_over = True

game_close = False

if event.key == pygame.K_c:

game_loop()


for event in pygame.event.get():

if event.type == pygame.QUIT:

game_over = True

if event.type == pygame.KEYDOWN:

if event.key == pygame.K_LEFT:

x1_change = -block_size

y1_change = 0

elif event.key == pygame.K_RIGHT:

x1_change = block_size

y1_change = 0

elif event.key == pygame.K_UP:

y1_change = -block_size

x1_change = 0

elif event.key == pygame.K_DOWN:

y1_change = block_size

x1_change = 0


if x1 >= window_width or x1 < 0 or y1 >= window_height or y1 < 0:

game_close = True


x1 += x1_change

y1 += y1_change

window.fill(white)

pygame.draw.rect(window, red, [foodx, foody, block_size, block_size])


snake_head = []

snake_head.append(x1)

snake_head.append(y1)

snake_list.append(snake_head)

if len(snake_list) > length_of_snake:

del snake_list[0]


for x in snake_list[:-1]:

if x == snake_head:

game_close = True


draw_snake(block_size, snake_list)

pygame.display.update()


if x1 == foodx and y1 == foody:

foodx = round(random.randint(0, (window_width - block_size) / block_size)) * block_size

foody = round(random.randint(0, (window_height - block_size) / block_size)) * block_size

length_of_snake += 1


pygame.time.Clock().tick(snake_speed)


pygame.quit()

quit()


if __name__ == "__main__":

game_loop()

相关推荐

office2016手机版下载(office 2016手机版)
  • office2016手机版下载(office 2016手机版)
  • office2016手机版下载(office 2016手机版)
  • office2016手机版下载(office 2016手机版)
  • office2016手机版下载(office 2016手机版)
手机设置路由器上网(手机如何上网设置路由器)

首先,打开手机浏览器,输入路由器的IP地址和密码,进入路由器设置页面。进入后会自动进入【设置向导】,点击设置向导【下一步】。在上网页面,选择【PPPoE(ADSL虚拟拨号)】,点击下一步。点击后,在新...

office 2016激活工具(office professional 2016 激活工具)

word2016激活密钥有两种类型:永久激活码和KMS期限激活密钥。其中,永久激活密钥可以使用批量授权版永久激活密钥进行激活,如所示;而KMS期限激活密钥需要使用KMS客户端密钥进行激活,如所示。另外...

苹果zip文件怎么安装(ios安装zip)

ZIP文件一般是用于存储多个文件或文件夹的压缩包,因此在安装ZIP文件时需要解压缩文件并提取出其中的内容。具体而言,您可以按照以下步骤来安装ZIP文件:1.下载ZIP文件:从互联网上下载需要安装的Z...

如何安装win7双系统(怎么安装win7和win10双系统)

1.要安装双系统,首先将第二个系统的分区设置为系统磁盘。在您的电脑上右击,选择管理选项。2.在计算机管理窗口中,选择磁盘管理,找到剩余空间较大的分区,然后右击并选择“压缩卷”。3.输入压缩空间量,其大...

u盘可以读取但不能写入(u盘只能读取不能写入是什么意思)

原因可能有如下几种情况1、U盘不被电脑windows系统所驱动。解决办法:在插上U盘之后,右键点击我的电脑===>属性硬件===>设备管理器==>通用串行总线控制器的位置会有个感叹号...

装机系统在哪里下载比较好(装系统去哪里装比较好)

对于典型的PC,云下载或本地重新安装都可以正常工作。假设您有一个快速的互联网连接,没有苛刻的下载限制,并且您的PC似乎没有处于损坏状态,那么您应该在合理的时间内让您的PC恢复到新的状态。但是...

如何卸载手机自带软件(如何卸载手机自带软件荣耀)
  • 如何卸载手机自带软件(如何卸载手机自带软件荣耀)
  • 如何卸载手机自带软件(如何卸载手机自带软件荣耀)
  • 如何卸载手机自带软件(如何卸载手机自带软件荣耀)
  • 如何卸载手机自带软件(如何卸载手机自带软件荣耀)
u盘装机制作软件哪个比较好(u盘装机软件推荐)

windows微软官方原版系统加上微软的U盘系统制作工具。MediaCreationTool来制作成U盘系统引导盘后来安装系统最纯净安全了。微peu盘驱动好。大白菜老毛桃什么的都用过,都是可以用的,...

windows7家庭版密钥激活码(win7家庭版激活密钥最新)

首先,在桌面上右键点击“计算机”,然后选择“属性”,在窗口底部找到“激活Windows”选项,点击它。然后,选择“在线激活”,输入你的Windows7激活密钥。如果你没有激活密钥,你可以购买一个或者...

win10好还是win7旗舰版好(windows10好还是windows7旗舰版好)

对于个人用户而言,我们更建议购买电脑装Windows10系统。以下是一些原因:兼容性更好:Windows10是微软最新的操作系统,支持大量的最新硬件和驱动程序,高度兼容大多数软件和设备。相比之下,...

win10系统自动重启频繁(win10系统经常自动重启)
  • win10系统自动重启频繁(win10系统经常自动重启)
  • win10系统自动重启频繁(win10系统经常自动重启)
  • win10系统自动重启频繁(win10系统经常自动重启)
  • win10系统自动重启频繁(win10系统经常自动重启)
2010office激活密钥25个字符
2010office激活密钥25个字符

步骤/方式1officeprofessionalplus2010:(office专业版)6QFdx-pYH2G-ppYFd-C7RJM-BBKQ8Bdd3G-xM7FB-Bd2HM-YK63V-VQFdKVYBBJ-TRJpB-QFQ...

2025-11-07 01:03 off999

刷机(刷机软件)

答:用下步骤可把电脑刷机:1、制作启动U盘,如大白菜U盘启动盘,然后将下载的系统iso文件直接复制到U盘的GHO目录下。2、在需要刷机的台式电脑上插入U盘,重启后不停按F12、F11、Esc等快捷键打...

u盘装linux系统教程(u盘安装linux操作系统安装教程图解)

以制作Ubuntulinux系统为例:1、首先要下载Ubuntu系统,在搜索Ubuntu,打开Ubuntu官网。2、然后在下载那里,选择桌面版。3、选择好版本之后,点击下载。4、随后跳转到一个网页,...

取消回复欢迎 发表评论: