教你使用一行Python代码玩遍童年的小游戏

写在前面

贪吃蛇,吃豆人,迷宫,井字游戏......这些小游戏我相信大家小的时候肯定玩过,或许在某个时段还沉迷过.
随着年龄的增长,这些小游戏离我们越来越远,但是我相信大家的童心还是一直在的
今天就分享一个真正可以玩耍的GitHub项目 --- free-python-games

安装与使用

python大家都懂的,安装第三方库非常简单

pip install freegames

Python

由于该项目中的所有游戏均是基于Python内置模块Turtle制作,所以没有太多依赖,安装不会有困难

安装完之后我们可以使用 python -m freegames list 来查看所有的游戏列表

图1

贪吃蛇

现在我们可以使用一行代码启动相关游戏,比如贪吃蛇snake

python -m freegames.snake

Python

复制

图2

贪吃蛇的玩法想必不用过多解释了,使用键盘⬆️⬇️⬅️➡️即可操控

吃豆人

吃豆人没玩过也应该听过,使用下面的代码可以启动一个类似吃豆人的游戏

python -m freegames.pacman

Python

复制

图3

Flappy

Flappy这个游戏和之前非常火的Flappy bird十分类似

图4

只需要更换游戏名即可启动

python -m freegames.flappy

Python

复制

图5

这次需要不断点击鼠标来控制绿色小圆点飞行,实测比flappy bird难度要更高一点

Memory

Memory翻译过来是记忆,该游戏给出一些宫格,点击每一个小宫格会显示背后藏的数字,但会快速消失,当你成功选中两个相同的数字之后就会显示为拼图,可玩性还是很高的

python -m freegames.memory

Python

复制

图8

迷宫

这个游戏应该就不用介绍了,找出走出迷宫对应的路径即可

python -m freegames.maze

Python

复制

图7

Tic Tac Toe

这个游戏我打赌你一定玩过,单击屏幕即可放置一个X或O,当三个同样的图案在一条直线上就赢了

python3 -m freegames.tictactoe

Python

复制

图8

查看源码

还有更多的游戏这里就不再一一介绍,Turtle我们并不陌生,所以当我们玩游戏时应该思考开发者是怎样实现的。使用下面的代码即可在当前目录下生成对应游戏的源码

"免费的python游戏将游戏和学习结合在一个灵活的环境中 减少编程等困难主题的压力"

python3 -m freegames copy snake

Python

复制

执行之后,在当前目录下就多了一个snake.py文件,打开就能查看游戏对应的逻辑

"""Snake, classic arcade game.

Exercises

1. How do you make the snake faster or slower?
2. How can you make the snake go around the edges?
3. How would you move the food?
4. Change the snake to respond to arrow keys.

"""

from turtle import *
from random import randrange
from freegames import square, vector

food = vector(0, 0)
snake = [vector(10, 0)]
aim = vector(0, -10)

def change(x, y):
    "Change snake direction."
    aim.x = x
    aim.y = y

def inside(head):
    "Return True if head inside boundaries."
    return -200 < head.x < 190 and -200 < head.y < 190

def move():
    "Move snake forward one segment."
    head = snake[-1].copy()
    head.move(aim)

    if not inside(head) or head in snake:
        square(head.x, head.y, 9, 'red')
        update()
        return

    snake.append(head)

    if head == food:
        print('Snake:', len(snake))
        food.x = randrange(-15, 15) * 10
        food.y = randrange(-15, 15) * 10
    else:
        snake.pop(0)

    clear()

    for body in snake:
        square(body.x, body.y, 9, 'black')

    square(food.x, food.y, 9, 'green')
    update()
    ontimer(move, 100)

setup(420, 420, 370, 0)
hideturtle()
tracer(False)
listen()
onkey(lambda: change(10, 0), 'Right')
onkey(lambda: change(-10, 0), 'Left')
onkey(lambda: change(0, 10), 'Up')
onkey(lambda: change(0, -10), 'Down')
move()
done()

Python

现在我们就可以学习源码并进行修改来实现更多的功能与玩法,抓紧试试吧!

到此这篇关于一行Python代码玩遍童年的小游戏的文章就介绍到这了,更多相关Python童年的小游戏内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 用Python实现童年贪吃蛇小游戏功能的实例代码

    贪吃蛇作为一款经典小游戏,早在 1976 年就面世了,我最早接触它还是在家长的诺基亚手机中. 尽管贪吃蛇的历史相对比较久远,但它却有着十分顽强的生命力,保持经久不衰,其中很重要的原因便是游戏厂家不断的对其进行更新迭代.现在,这款游戏无论是游戏场景.规则等都变得十分丰富. 接下来,我们看一下如何通过 Python 简单的实现这款小游戏. 规则 要有游戏主界面.贪吃蛇.食物 能够控制贪吃蛇移动并获取食物 贪吃蛇吃了食物后,增加自身长度.分数,食物消失并随机生成新的食物 贪吃蛇触碰到周围边界或自己身体

  • Python实现我的世界小游戏源代码

    我的世界小游戏使用方法: 移动 前进:W,后退:S,向左:A,向右:D,环顾四周:鼠标,跳起:空格键,切换飞行模式:Tab; 选择建筑材料 砖:1,草:2,沙子:3,删除建筑:鼠标左键单击,创建建筑块:鼠标右键单击 ESC退出程序. 完整程序包请通过文末地址下载,程序运行截图如下: from __future__ import division import sys import math import random import time from collections import deq

  • 教你使用一行Python代码玩遍童年的小游戏

    写在前面 贪吃蛇,吃豆人,迷宫,井字游戏......这些小游戏我相信大家小的时候肯定玩过,或许在某个时段还沉迷过. 随着年龄的增长,这些小游戏离我们越来越远,但是我相信大家的童心还是一直在的 今天就分享一个真正可以玩耍的GitHub项目 --- free-python-games 安装与使用 python大家都懂的,安装第三方库非常简单 pip install freegames Python 由于该项目中的所有游戏均是基于Python内置模块Turtle制作,所以没有太多依赖,安装不会有困难

  • 教你如何用python开发一款数字推盘小游戏

    今年年初,新一季的<最强大脑>开播了,第一集选拔的时候大家做了一个数字游戏,名叫<数字华容道>,当时何猷君以二十几秒的成绩夺得该项目的冠军,看了这个游戏之后我决定要写一个<数字华容道>的程序,过去了半年,我终于记起了这件事,今天就来实现. 数字推盘游戏(n-puzzle)是一种智力游戏,常见的类型有十五数字推盘游戏和八数字推盘游戏等.十五数字推盘游戏的板上会有十五个方块和一个大小相当于一个方块的空位(供方块移动之用),当15个数字依次排序并且最后一个格子为空位即代表挑战

  • 教你用一行Python代码实现并行任务(附代码)

    Python在程序并行化方面多少有些声名狼藉.撇开技术上的问题,例如线程的实现和GIL,我觉得错误的教学指导才是主要问题.常见的经典Python多线程.多进程教程多显得偏"重".而且往往隔靴搔痒,没有深入探讨日常工作中最有用的内容. 传统的例子 简单搜索下"Python多线程教程",不难发现几乎所有的教程都给出涉及类和队列的例子: #Example.py ''' Standard Producer/Consumer Threading Pattern ''' imp

  • 教你如何用一行Python代码实现GUI图形界面

    目录 1.选择文件夹 2.选择文件 3.选择日期 4.输入文本 5.弹窗无按钮 6.弹窗无标题 7.弹窗只有OK按钮 8.弹窗只有Error按钮(红色) 9.显示通知窗口 10.弹窗选择 11.自定义弹窗 12.实战 GUI(图形用户界面),顾名思义就是用图形的方式,来显示计算机操作的界面,更加方便且直观. 一个好看又好用的GUI,可以大大提高大家的使用体验,提高效率. 比如你想开发一个计算器,如果只是一个程序输入,输出窗口的话,是没有用户体验的. 所以开发一个图形化的小窗口,就变得很有必要.

  • 一行Python代码制作动态二维码的实现

    在GitHub上发现了一个比较有意思的项目,只需要一行Python代码就可以快捷方便生成普通二维码.艺术二维码(黑白/彩色)和动态GIF二维码. GitHub网站参加:https://github.com/sylnsfar/qrcode 用法比较简单,直接通过pip安装即可. pip3 install myqr 安装过程如下所示: 安装完成后,就可以基于命令指令生成想要的二维码了,myqr模块参数说明如下: 主要参数翻译如下: -v :定义二维码的大小,范围为 1 ~ 40,默认大小取决于输入的

  • 数据清洗之如何用一行Python代码去掉文本中的各种符号

    目录 前言 1. 问题描述 2. 相关知识 3. 解决方案 总结 前言 在搜集了很多文本语料之后,会开始漫长的数据清洗过程,通常要不断迭代. 1. 问题描述 有些文本数据中,会包含一些特殊符号. 猜想可能是从某些富文本编辑器中直接粘贴到了网页. 如果要清除这些特殊符号,就需要专门的工具. 2. 相关知识 Unicode标准把符号分为四大类,分别是: 缩写 详情 [Sc] Symbol, Currency [Sk] Symbol, Modifier [Sm] Symbol, Math [So] S

  • 150行Python代码实现带界面的数独游戏

    今天闲着没事干,以前做过html+js版的数独,这次做个python版本的,界面由pygame完成,数独生成由递归算法实现,由shuffle保证每次游戏都是不一样的情况,have fun: 功能列表: 图形化的数独游戏: python实现,依赖pygame库: 随机生成游戏,每次运行都不一样: 数字填入后的正确性判断以及颜色提示: 显示剩余需填入的空格,已经操作的次数: 难度可选,通过修改需要填入的空的数量:  游戏界面 初始界面 过程中界面 运行方式 python main.py 15 这里的

  • Python实现外星人去哪了小游戏详细代码

    1 为什么找不见外星人 为什么我们见不到外星人? 曾经在物理学上有一个著名人物叫费米,大家知道费米是在物理学上发现中子轰击的人,有一个著名的费米悖论,就是费米追问为什么外星人还见不到? 费米的这个追问包含的意思是这样的,地球上产生人类,从几率上讲,绝不可能人类独在. 因为人类只不过是一个自然界的造物,只要自然条件达到这个状态,生命就会进入这个状态.大阳系只是一个小小的星系,仅银河系就有两千到四千亿颗恒星.  2 关于宇宙 天文学家今天发现大约有5%的恒星有行星.大家算一下,拿两千亿算,5%的恒星

  • 教你用Python写一个水果忍者小游戏

    目录 引言 一.需要导入的包 二.窗口界面设置 三.随机生成水果位置 四.绘制字体 五.玩家生命的提示 六.游戏开始与结束的画面 七.游戏主循环 总结 引言 水果忍者的玩法很简单,尽可能的切开抛出的水果就行. 今天小五就用python简单的模拟一下这个游戏.在这个简单的项目中,我们用鼠标选择水果来切割,同时炸弹也会隐藏在水果中,如果切开了三次炸弹,玩家就会失败. 一.需要导入的包 import pygame, sys import os import random 二.窗口界面设置 # 游戏窗口

  • 基于Python实现开心消消乐小游戏的示例代码

    目录 前言 一.准备 1.1 图片素材 1.2 音频素材 二.代码 2.1 导入模块 2.2 游戏音乐设置 2.3 制作树类 2.4 制作鼠标点击效果 2.5 制作出现元素 2.6 数组 2.7 制作人物画板 三.效果展示(仅部分) 3.1 初始页面 3.2 第一关画面 3.3 失败画面 3.4 第十关画面 穿过云朵升一级是要花6个金币的,有的时候金币真的很重要 前言 嗨喽,大家好呀!这里是魔王~ 一天晚上,天空中掉下一颗神奇的豌豆种子,正好落在了梦之森林的村长屋附近. 种子落地后吸收了池塘的水

随机推荐