Python制作小游戏——贪吃蛇(PyGame)
Python Pygame 制作经典贪吃蛇小游戏2026 最新完整版这是 Python 入门者最推荐的第一个小游戏项目下面给你一个完整、可直接运行、结构清晰的贪吃蛇代码基于 GeeksforGeeks 2025 年更新版本 优化注释。1. 首先安装 Pygamepipinstallpygame2. 完整代码复制粘贴即可运行importpygameimporttimeimportrandom# 游戏配置 snake_speed15# 速度越大越快window_x720# 窗口宽度window_y480# 窗口高度# 颜色定义RGBblackpygame.Color(0,0,0)whitepygame.Color(255,255,255)redpygame.Color(255,0,0)greenpygame.Color(0,255,0)bluepygame.Color(0,0,255)# 初始化 Pygamepygame.init()# 创建游戏窗口pygame.display.set_caption(贪吃蛇 - Python Pygame)game_windowpygame.display.set_mode((window_x,window_y))# FPS 控制器fpspygame.time.Clock()# 游戏初始状态 snake_position[100,50]# 蛇头初始位置# 蛇初始身体4 节snake_body[[100,50],[90,50],[80,50],[70,50]]# 食物初始位置10的倍数网格对齐fruit_position[random.randrange(1,(window_x//10))*10,random.randrange(1,(window_y//10))*10]fruit_spawnTrue# 蛇默认方向directionRIGHTchange_todirection score0# 辅助函数 defshow_score(choice,color,font,size):score_fontpygame.font.SysFont(font,size)score_surfacescore_font.render(得分: str(score),True,color)score_rectscore_surface.get_rect()game_window.blit(score_surface,score_rect)defgame_over():my_fontpygame.font.SysFont(simhei,50)# 支持中文game_over_surfacemy_font.render(游戏结束最终得分: str(score),True,red)game_over_rectgame_over_surface.get_rect()game_over_rect.midtop(window_x/2,window_y/4)game_window.blit(game_over_surface,game_over_rect)pygame.display.flip()time.sleep(2)pygame.quit()quit()# 主游戏循环 whileTrue:# 处理键盘事件foreventinpygame.event.get():ifevent.typepygame.KEYDOWN:ifevent.keypygame.K_UP:change_toUPifevent.keypygame.K_DOWN:change_toDOWNifevent.keypygame.K_LEFT:change_toLEFTifevent.keypygame.K_RIGHT:change_toRIGHT# 防止同时按相反方向蛇不能直接掉头ifchange_toUPanddirection!DOWN:directionUPifchange_toDOWNanddirection!UP:directionDOWNifchange_toLEFTanddirection!RIGHT:directionLEFTifchange_toRIGHTanddirection!LEFT:directionRIGHT# 根据方向移动蛇头ifdirectionUP:snake_position[1]-10ifdirectionDOWN:snake_position[1]10ifdirectionLEFT:snake_position[0]-10ifdirectionRIGHT:snake_position[0]10# 蛇身体增长机制snake_body.insert(0,list(snake_position))ifsnake_position[0]fruit_position[0]andsnake_position[1]fruit_position[1]:score10fruit_spawnFalseelse:snake_body.pop()# 没吃到食物就去掉尾巴# 生成新食物ifnotfruit_spawn:fruit_position[random.randrange(1,(window_x//10))*10,random.randrange(1,(window_y//10))*10]fruit_spawnTrue# 填充背景game_window.fill(black)# 画蛇forposinsnake_body:pygame.draw.rect(game_window,green,pygame.Rect(pos[0],pos[1],10,10))# 画食物pygame.draw.rect(game_window,white,pygame.Rect(fruit_position[0],fruit_position[1],10,10))# 游戏结束条件# 撞墙ifsnake_position[0]0orsnake_position[0]window_x-10:game_over()ifsnake_position[1]0orsnake_position[1]window_y-10:game_over()# 撞自己forblockinsnake_body[1:]:ifsnake_position[0]block[0]andsnake_position[1]block[1]:game_over()# 显示分数show_score(1,white,simhei,20)# 更新屏幕pygame.display.update()# 控制帧率fps.tick(snake_speed)3. 如何运行把上面代码保存为snake_game.py在终端运行python snake_game.py用↑ ↓ ← →方向键控制蛇4. 游戏特性一览经典贪吃蛇逻辑吃食物长身体 得分防止直接掉头撞墙 / 撞自己 游戏结束中文游戏结束界面 实时分数显示网格化移动更丝滑代码结构清晰适合修改想加音效、关卡、暂停都很容易想继续升级这个游戏吗回复以下任意关键词我立刻给你下一版加音效吃到食物、游戏结束音效加暂停功能按 P 键暂停增加难度随分数加快速度添加开始菜单 最高分记录美化版彩色食物、不同皮肤、粒子特效这个贪吃蛇项目做完你的 Pygame 基础就非常扎实了快去运行试试吧 玩得开心✨有什么问题或想修改的地方随时告诉我

相关新闻

Python的pandas库基础知识(超详细教学)

Python的pandas库基础知识(超详细教学)

Python pandas 库基础知识 —— 超详细教学(2026 最新版) (从零基础到能独立完成 90% 数据分析任务,专为面试 实战设计) pandas 是 Python 数据分析的绝对核心库,被称为“Python 的 Excel”。 本篇一次性…

2026/5/17 12:54:39 阅读更多 →
python核心语法(四)- 函数

python核心语法(四)- 函数

Python 核心语法(四)—— 函数 (初始Python篇 进阶版,2026 年最新,基于 Python 3.12/3.13) 这是 Python 中最重要、最灵活、最容易被面试深挖的核心语法之一。 掌握本篇后,你就能写出优雅、可复…

2026/7/4 8:35:47 阅读更多 →
OpenClaw能做什么?全面解析“小龙虾”AI的百变能力与必须警惕的安全红线

OpenClaw能做什么?全面解析“小龙虾”AI的百变能力与必须警惕的安全红线

“今天你养龙虾了吗?”2026年开年以来,这句话在科技圈悄然流行。OpenClaw——这只被网友亲切称为“小龙虾”的开源AI智能体,凭借其惊人的“主动自动化”能力,在GitHub上收获了超过25万颗星,先后超越Linux和React&#…

2026/7/3 3:14:27 阅读更多 →

最新新闻

反射型XSS漏洞实战:从原理到防御的完整攻防指南

反射型XSS漏洞实战:从原理到防御的完整攻防指南

1. 项目概述:一次关于Web安全核心威胁的深度剖析最近在内部安全审计和众测项目中,反射型XSS(跨站脚本攻击)依然是出现频率极高且危害巨大的漏洞。很多开发者,甚至是一些有一定经验的工程师,仍然会低估一个看…

2026/7/5 4:39:17 阅读更多 →
Codex实战指南:从环境配置到高阶用法,打造你的AI编程副驾

Codex实战指南:从环境配置到高阶用法,打造你的AI编程副驾

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 最近在整理本地开发环境时,我翻出了几个几个月前写的脚本,发现里面有些函数逻辑写得相当“奔放”,…

2026/7/5 4:37:17 阅读更多 →
ParsecVDisplay终极指南:免费创建Windows虚拟显示器的完整方案

ParsecVDisplay终极指南:免费创建Windows虚拟显示器的完整方案

ParsecVDisplay终极指南:免费创建Windows虚拟显示器的完整方案 【免费下载链接】parsec-vdd ✨ Perfect virtual display for game streaming 项目地址: https://gitcode.com/gh_mirrors/pa/parsec-vdd 想要在Windows电脑上扩展显示空间却不想购买昂贵的物理…

2026/7/5 4:37:17 阅读更多 →
Ketcher架构深度解析:基于Web的化学结构编辑器技术实现与工程实践

Ketcher架构深度解析:基于Web的化学结构编辑器技术实现与工程实践

Ketcher架构深度解析:基于Web的化学结构编辑器技术实现与工程实践 【免费下载链接】ketcher Web-based molecule sketcher 项目地址: https://gitcode.com/gh_mirrors/ke/ketcher Ketcher作为一款现代化的Web化学结构编辑器,其技术架构体现了对复…

2026/7/5 4:33:16 阅读更多 →
抖店AI标题优化怎么用标题违规和低质标题怎么改

抖店AI标题优化怎么用标题违规和低质标题怎么改

抖店AI标题优化怎么用?标题违规和低质标题怎么改 抖店商品标题写不好,会影响审核、搜索理解和买家点击。很多商家从 1688 搬标题时,原标题里带批发词、品牌词、极限词、无关热词,直接上架容易违规,也不一定适合抖店买家…

2026/7/5 4:29:15 阅读更多 →
如何3分钟完成通达信缠论插件部署:终极自动化分析指南

如何3分钟完成通达信缠论插件部署:终极自动化分析指南

如何3分钟完成通达信缠论插件部署:终极自动化分析指南 【免费下载链接】ChanlunX 缠中说禅炒股缠论可视化插件 项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX 还在为复杂的缠论分析而烦恼吗?面对繁琐的笔段划分和中枢识别,传…

2026/7/5 4:27:15 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻