贼好玩!几行Python代码将童年游戏搬上屏幕!

python做个童年经典游戏:超级玛丽(要源码的滴滴) 小时候的经典游戏,代码参考了github上的项目,使用pygame来实现,从中学习到了横版过关游戏实现中的一些处理方法。原项目实现了超级玛丽的第一个小关。 在原项目的基础上,游戏使用json文件来保存每一个关卡的数据,将数据和代码解耦合,目前已开发4个小关,后续关卡的扩展也很方便,只需要添加json文件和地图图片,支持新的怪物就行。游戏还支持进入水管,到新的子地图。 这篇文章是要介绍下游戏中的几个界面显示和界面之前如何转换,所以特意写了一个demo程序。 状态机介绍 游戏中的状态机一般都是有限状 阅读详情

1edc6d7b03c131709beecc69e13f789a.png

80后和90后的小伙伴们,你们是否还记得这个小小的掌上游戏机?

c3ad0c67db9f32efc52758c54119a6da.png

掌上游戏机

没有玩过这个游戏机的小伙伴的童年是不完整的!

在那个物质匮乏的年代,没有 Switch 游戏机,没有手机,也没有 pad,我们只有掌上俄罗斯和小霸王学习机!

看到这个图片,是不是勾起了童年的记忆?

还想不想再玩一下,回味童年的感觉?

没问题!这就送给你!

最近在浏览 GitHub 开源项目的时候,无意中发现了一个神奇的项目 —— free-python-games 。大家看这个项目名称,肯定能猜到这个项目的大致内容,跟 python 和 游戏有关。

没错,这个项目包含了好多我们小时候在掌上游戏机玩的小游戏,你只要几行代码就可以在电脑上开始玩。作为上班偶尔的摸鱼娱乐项目还是很不错的。

安装

安装包

第一步,我们需要安装这个开源包:

pip install freegames

使用命令

我们可以通过下面的命令来查看命令行帮助:

python -m freegames --help

运行命令后,我们可以看到命令行输出:

usage: freegames [-h] {list,copy,show} ...

Free Python Games

positional arguments:
  {list,copy,show}  sub-command help
    list            list games
    copy            copy game source code
    show            show game source code

optional arguments:
  -h, --help        show this help message and exit

Copyright 2017 Grant Jenks

我们可以看到这里有 list,copy,show 操作,分别是列举游戏列表、复制游戏源码、展示游戏源码等。

下面我们使用一下 list 命令:

python -m freegames list

我们可以看到小游戏列表:

ant
bagels
bounce
cannon
connect
crypto
fidget
flappy
guess
life
maze
memory
minesweeper
pacman
paint
pong
simonsays
snake
tictactoe
tiles
tron

运行游戏也非常简单:

python -m freegames.snake

下面是运行贪吃蛇的命令,运行命令之后,就会弹出一个 GUI 小方框来呈现贪吃蛇游戏了,我们只需要使用键盘的方向键就可以愉快地玩耍了。

至于其他的复制、查看代码之类的,由于每个小游戏的代码就一个文件,代码量也不多,大家可以到这个开源项目去拷贝源代码自己修改运行即可。

有哪些小游戏?

话不多说,我们先来看看这个项目里面有哪些小游戏。

Paint

画图。你只需要用鼠标在画布上点击一下代表开始,然后再点击一下代表结束,就可以画一条线段,通过线段来画画。

通过键盘可以控制线段的颜色(需要将键盘切换到大写字母模式)。

47490e57a072fc4ac4927d5f12f15a9f.gif

paint
Snake

贪吃蛇。这个不用介绍,大家应该都知道是什么游戏了。通过键盘的方向键就可以控制方向。

ff6b03c4c541e7ff50be3011a230ca51.gif

snake
Pacman

吃豆人。使用键盘操纵黄色的小饼饼吃完所有的小白点就算过关。但是不能碰到那四个移动的红饼饼。

d3b87b0c707511d4261a76bfbfddb1f9.gif

pacman
Cannon

射击。通过鼠标在屏幕上点击来确定石头发射的方向,你需要在那些蓝色的移动物体移动到左侧之前把他们都消灭掉。

c5bd4b48dc4623dbb591e79b0ae8091a.gif

cannon
Flappy

小雷电。这个小游戏跟雷电类似,你需要上下移动以防止被从右往左移动的黑色大圆饼触碰到。

07c0720468a6ec04c3d87698540b1bf1.gif

flappy
Tiles

拼图。开局给你一个乱序的数字拼图,中间留一个空格,你需要将这些数字按从小到大、从下向上的顺序排列起来。点击空格旁边的数字,就可以移动数字到空格。

4806d1a515d42e4c8c025a08124421e5.gif

tiles

还有很多个其他的小游戏,这里就不一一列举了,大家自己去探索吧!这些小游戏够你玩好长时间了。

总结

作为 Pythoner,不能只想着玩这些小游戏摸鱼,我们需要学习怎么设计和实现这些小游戏。这也是这个项目的初衷——帮助初学者学习 Python。源码也在那里,你可以自己拿来随意修改。作者也在一些游戏上设置了空实现(比如第一个画线的游戏,作者预留了一些实现各种形状的空函数),留待大家自己去完成。

希望大家在找回童年乐趣的同时,也能学到知识!

有兴趣的同学可以火速加入我们的星球

3周零基础入门提供10节课程

全年12节趣味实战项目含源码,

每月奖励优秀的Top3同学送书

专业的答疑群,大厂的老师保姆式的教学

如果不满意,三天内随意退款!一年88,现在优惠16元

7748a66e00eabee8cbf8264268aa2b33.png

扫码加入,3周零基础入门

推荐阅读:
入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影
趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|

年度爆款文案

python小游戏——魂斗罗这是你的童年吗? 导语: 经典的魂斗罗一定勾起了大家童年的不少回忆吧,快来回忆一下这款童年的经典游戏吧。 玩家在开始时持有普通单发步枪,可以向八个方向发射,但是在得到其它武器之后会换用得到的武器。 魂斗罗 正文: Python魂斗罗小游戏源代码源程序分享,主程序Contra.py,游戏简易使用说明:A:向左,D:向右,W:跳起,S:趴下,J:射击,P:退出程序。 程序运行截图: Contra.py import pygame import sys from pygame.locals imp. 阅读详情

相关推荐

一行Python代码玩遍童年的小游戏

写在前面 贪吃蛇,吃豆人,迷宫,井字游戏......这些小游戏我相信大家小的时候肯定玩过,或许在某个时段还沉迷过. 随着年龄的增长,这些小游戏离我们越来越远,但是我相信大家的童心还是一直在的 今天就分享一个真正可以玩耍的GitHub项目 --- free-python-games 安装与使用 python大家都懂的,安装第三方库非常简单 pip install freegames """ 当然在学习Python的道路上肯定会困难,没有好的学习资料,怎么去学习呢? 学习Python中有不明白推荐加

Python_kele的博客 1081

一些有趣的代码

n个代码(更新中)

ccxhhhhh的博客 2万+

无感健康监测的未来:毫米波雷达如何重新定义睡眠科技与居家养老

毫米波雷达技术正重新定义无感健康监测,特别是在睡眠科技与居家养老领域。通过精准监测呼吸、心率和体动,无需穿戴设备即可实现临床级精度。结合合宙Air700E开发板,构建了完整的远程看护解决方案,为老年人提供跌倒检测、异常报警等安全保障,同时保护用户隐私。

cake8的博客 570

贼好玩!几行代码将童年游戏搬上屏幕!

文 |闲欢来源:Python 技术「ID: pythonall」80后和90后的小伙伴们,你们是否还记得这个小小的掌上游戏机?掌上游戏机没有玩过这个游戏机的小伙伴的童年是不完整的!在那个...

weixin_48923393的博客 7809

LabVIEW通过S7协议直连西门子S7-1200读写DB块全攻略

在工业自动化上位机开发中,PLC数据交互始终是现场调试的关键环节。西门子S7-1200作为常见控制器,其DB共享数据块承载着设备状态与工艺参数。理解S7协议基于TCP 102端口的请求/响应机制,以及标准DB与优化块访问、字节顺序(大端模式)等原理,是打通通信链路的基础。相比OPC或Modbus TCP,原生S7协议直连具有配置简单、读写粒度精确到字节/位、响应及时的优势,非常适合单台上位机监控与参数下发场景。借助Snap7等开源库,LabVIEW可通过CLF节点调用ConnectTo、ReadArea、W

weixin_29166013的博客 255

手把手教你用Kali Linux搭建vulntarget-a靶场环境(附详细配置步骤)

本文详细介绍了如何在Kali Linux环境下搭建vulntarget漏洞靶场,包括环境规划、虚拟化平台配置、靶机系统部署及安全工具链配置等关键步骤。通过实战演练,帮助网络安全从业者和初学者掌握专业级漏洞实验平台的搭建与管理技巧,提升安全测试能力。

weixin_29279101的博客 107

贼好玩!几行Python代码将童年游戏搬上屏幕!,已成功拿下字节、腾讯、脉脉offer

我们可以看到这里有 list,copy,show 操作,分别是列举游戏列表、复制游戏源码、展示游戏源码等。

m0_60634964的博客 642

6 赫斯曼网管软件industrial hivision用户管理

文章目录前言一、打开Industrial HiVision服务器二、在用户管理界面添加策略三、使用可选策略四、接受策略总结 前言 安装 Industrial HiVision 后,所有人都能广泛使用程序。安全起见,请进行相 关配置,对访问权限进行限制。 本文主要介绍用户管理基于某种角色模型。在访问角色中定义角色名称,通过分配访问权限给这些角色分配角色功能。例如,给管理人员自然要分配可用的权限,而观察员尽管可以登录,但没有能够进行更改的权限。Industrial HiVision 提供以下访问角色: 

t98746194的博客 1381

贼好玩的bat格式的小游戏

这里有一个用批处理脚本(.bat)编写的简单但有趣的“数字猜谜”小游戏,结合了颜色变化和随机元素,试试看吧!

在阿尔法狗用361维向量重构围棋宇宙时,人们惊觉这团硅基智慧正以人类难以企及的速度逼近某种终极规律。 861

Matlab子图排版终极指南:从tight_subplot到tiledlayout的实战对比

本文深入对比Matlab中两大子图排版工具:社区经典函数tight_subplot与官方现代布局管理器tiledlayout。针对默认subplot产生的子图间距与边缘距离问题,详细解析两者的设计哲学、参数控制与实战应用,帮助用户根据版本与需求选择最佳方案,实现高效、精确且美观的多子图排版。

weixin_29048309的博客 360

C# 从数秒到毫秒:MySQL+Redis百万数据优化实战全解析

在处理百万级数据时,传统单体数据库常面临查询效率低下、数据库负载过高和用户体验差等问题。为解决这些性能瓶颈,可以采用MySQL分库分表、Redis缓存和异步统计的组合策略。 数据库分片:通过水平分表和分库实现,将单表数据分散到多个物理表或数据库实例中,降低单点负载。 Redis缓存:利用Redis缓存高频数据,减少数据库查询压力,提升响应速度。 异步统计:通过消息队列(如RabbitMQ)解耦统计任务,后台处理非实时任务,避免阻塞主流程。 这些优化策略能够显著提升系统性能,确保在高并发和大数据量场景下的稳定

墨夶的博客 852

贼好玩!几行Python代码将童年游戏搬上屏幕!(1)

作为 Pythoner,不能只想着玩这些小游戏摸鱼,我们需要学习怎么设计和实现这些小游戏。这也是这个项目的初衷——帮助初学者学习 Python。源码也在那里,你可以自己拿来随意修改。作者也在一些游戏上设置了空实现(比如第一个画线的游戏,作者预留了一些实现各种形状的空函数),留待大家自己去完成。希望大家在找回童年乐趣的同时,也能学到知识!有兴趣的同学可以火速加入我们的星球(1)Python所有方向的学习路线(新版)

2401_84139610的博客 204

【YOLO部署Android安卓手机APP】YOLO11部署到安卓实时目标检测识别——以火焰烟雾目标检测识别举例(可自定义更换其他目标)

本项目基于YOLOv11部署到手机APP实现对火焰烟雾的检测识别,当然,以此你可以按照本项目开发步骤扩展更换为其他目标进行检测,例如更换为车牌、手势、人脸面部活动、人脸表情、火焰烟雾、行人、口罩、行为、水果、植物、农作物等等部署手机APP进行检测。本文为详细设计/配置文档,包含完整所需的环境配置搭建,项目工程配置步骤等,手把手记录使用pycharm和Android studio的工程开发过程,实现YOLO部署到安卓。实战开发,亲测无误。演示视频训练了50轮进行了展示(为演示,训练轮数较少,你可以训练轮数多些

嵌入式阿齐Archie 1万+

贼好玩,几行Python代码将童年游戏搬上屏幕

80后和90后的小伙伴们,你们是否还记得这个小小的掌上游戏机? 没有玩过这个游戏机的小伙伴的童年是不完整的! 在那个物质匮乏的年代,没有 Switch 游戏机,没有手机,也没有 pad,我们只有掌上俄罗斯和小霸王学习机! 看到这个图片,是不是勾起了童年的记忆? 还想不想再玩一下,回味童年的感觉? 没问题!这就送给你! 最近在浏览 GitHub 开源项目的时候,无意中发现了一个神奇的项目 —— free-python-games 。大家看这个项目名称,肯定能猜到这个项目的大致内容,跟 python 和 游.

weixin_58753619的博客 407

28、沉浸式体验技术:概念、类型与应用

本文全面介绍了沉浸式体验技术的概念、类型与应用。从双边滤波器的图像处理原理切入,系统阐述了VR、AR、MR、ER及数字孪生等核心技术的特点与区别,并通过丰富案例展示了其在商业、医疗、教育、旅游、房地产、物流等多个领域的实际应用。文章还分析了技术融合趋势、硬件升级方向、应用场景拓展潜力,同时探讨了数据处理、网络延迟、隐私安全等挑战及应对策略,最后以流程图和对比表格总结技术发展脉络,展望沉浸式技术推动社会进步的广阔前景。

wind6的博客 391

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

超级有趣!几行Python代码将童年游戏搬上屏幕!

80后和90后的小伙伴们,你们是否还记得这个小小的掌上游戏机? 掌上游戏机 没有玩过这个游戏机的小伙伴的童年是不完整的! 在那个物质匮乏的年代,没有 Switch 游戏机,没有手机,也没有 pad,我们只有掌上俄罗斯和小霸王学习机! 看到这个图片,是不是勾起了童年的记忆? 还想不想再玩一下,回味童年的感觉? 没问题!这就送给你! 最近在浏览 GitHub 开源项目的时候,无意中发现了一个神奇的项目 —— free-python-games 。大家看这个项目名称,肯定能猜到这个项目的大致内容,

m0_60719784的博客 427

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

python好玩的代码-好玩的游戏

[python]代码库import pygamefrom random import randintimport mathprint("按下空格建发射子弹")pygame.init()screen = pygame.display.set_mode((800, 600))pygame.display.set_caption("飞机大战")icon = pyg...

weixin_37988176的博客 3275

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Python简单几行代码实现黑客电影镜头屏幕画面

通过几行简单的Python代码实现炫酷的数据流动效果

GanAHE的博客 5808

python游戏代码_童年的游戏,Python一行代码就能玩

虽然秃头程序员没有头发,但是童心还是一直都在的,今天就分享一个私藏的GitHub项目——free-python-games,一行代码就能进入使用Python开发的小游戏快乐玩耍!安装与使用安装当然也很简单一行代码就可以pip install freegames由于该项目中的所有游戏均是基于Python内置模块Turtle制作,所以没有太多依赖,安装不会有困难。安装完之后我们可以使用python -...

weixin_39992831的博客 4884

Python一行代码就能玩童年的游戏

童年的游戏,Python一行代码就能玩 大家好,今天就分享一个私藏的GitHub项目——free-python-games,一行代码就能进入使用Python开发的小游戏快乐玩耍! 安装当然也很简单一行代码就可以 由于该项目中的所有游戏均是基于Python内置模块Turtle制作,所以没有太多依赖,安装不会有困难。 安装完之后我们可以使用python -m freegames list来查看所有的游戏列表 贪吃蛇 现在我们可以使用一行代码启动相关游戏,比如贪吃蛇snake 贪吃蛇的玩法想必不用过多

u012939316的博客 1259

卧槽!童年的游戏,Python 一行代码就能玩

点击关注上方“五分钟学算法”,设为“置顶或星标”,第一时间送达干货。儿童节快乐!虽然秃头程序员没有头发,但是童心还是一直都在的,今天就分享一个私藏的GitHub项目——free-pyth...

程序员吴师兄的博客 1327

What?! Python一行代码,能玩这么多童年的游戏?

来源 |早起 Python责编 | Carol封图 | 优快云 下载自视觉中国儿童节就要来了,虽然秃头程序员没有头发,但是童心还是一直都在的,今天就分享一个私藏的GitHub项目...

AI科技大本营 1万+

童年的游戏,Python一行代码就能玩

大家好,儿童节就要来了,虽然秃头程序员没有头发,但是童心还是一直都在的,今天就分享一个私藏的GitHub项目——free-python-games,一行代码就能进入使用Python开发的小游戏快乐玩耍! 安装与使用 安装当然也很简单一行代码就可以 pip install freegames 由于该项目中的所有游戏均是基于Python内置模块Turtle制作,所以没有太多依赖,安装不会有困难。 安装完之后我们可以使用python -m freegames list来查看所有的游戏列表..

早起Python 2171
上一篇: Docker 大势已去,Podman 即将崛起!
下一篇: 雷总:我也想做高级工程师 !
菜鸟学Python
博客等级 码龄9年 8089粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值