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

2024-01-09 08:30

本文主要是介绍贼好玩!几行Python代码将童年游戏搬上屏幕!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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 Gamespositional arguments:{list,copy,show}  sub-command helplist            list gamescopy            copy game source codeshow            show game source codeoptional arguments:-h, --help        show this help message and exitCopyright 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行代码做了一个语音壁纸切换器天天看小姐姐!|

年度爆款文案

  • 1).卧槽!Pdf转Word用Python轻松搞定!

  • 2).学Python真香!我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃

  • 3).首播过亿,火爆全网,我分析了《乘风破浪的姐姐》,发现了这些秘密 

  • 4).80行代码!用Python做一个哆来A梦分身 

  • 5).你必须掌握的20个python代码,短小精悍,用处无穷 

  • 6).30个Python奇淫技巧集 

  • 7).我总结的80页《菜鸟学Python精选干货.pdf》,都是干货 

  • 8).再见Python!我要学Go了!2500字深度分析!

  • 9).发现一个舔狗福利!这个Python爬虫神器太爽了,自动下载妹子

这篇关于贼好玩!几行Python代码将童年游戏搬上屏幕!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/586503

相关文章

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

一文深入详解Python的secrets模块

《一文深入详解Python的secrets模块》在构建涉及用户身份认证、权限管理、加密通信等系统时,开发者最不能忽视的一个问题就是“安全性”,Python在3.6版本中引入了专门面向安全用途的secr... 目录引言一、背景与动机:为什么需要 secrets 模块?二、secrets 模块的核心功能1. 基

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Python中help()和dir()函数的使用

《Python中help()和dir()函数的使用》我们经常需要查看某个对象(如模块、类、函数等)的属性和方法,Python提供了两个内置函数help()和dir(),它们可以帮助我们快速了解代... 目录1. 引言2. help() 函数2.1 作用2.2 使用方法2.3 示例(1) 查看内置函数的帮助(

Python虚拟环境与Conda使用指南分享

《Python虚拟环境与Conda使用指南分享》:本文主要介绍Python虚拟环境与Conda使用指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python 虚拟环境概述1.1 什么是虚拟环境1.2 为什么需要虚拟环境二、Python 内置的虚拟环境工具

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

Python pip下载包及所有依赖到指定文件夹的步骤说明

《Pythonpip下载包及所有依赖到指定文件夹的步骤说明》为了方便开发和部署,我们常常需要将Python项目所依赖的第三方包导出到本地文件夹中,:本文主要介绍Pythonpip下载包及所有依... 目录步骤说明命令格式示例参数说明离线安装方法注意事项总结要使用pip下载包及其所有依赖到指定文件夹,请按照以