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

 更新时间:2021年08月21日 11:17:26   作者:python可乐编程  
这篇文章主要介绍了一行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童年的小游戏内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python调用Fortran的三种形式

    Python调用Fortran的三种形式

    这篇文章主要介绍了在Python中调用Fortran的三种形式,文中有详细的代码示例,感兴趣的同学可以参考阅读
    2023-04-04
  • 在Python下利用OpenCV来旋转图像的教程

    在Python下利用OpenCV来旋转图像的教程

    这篇文章主要介绍了在Python下利用OpenCV来旋转图像的教程,代码和核心的算法都非常简单,需要的朋友可以参考下
    2015-04-04
  • Python tempfile模块学习笔记(临时文件)

    Python tempfile模块学习笔记(临时文件)

    这篇文章主要介绍了Python tempfile模块学习笔记,着重讲解了模块下的几个函数,需要的朋友可以参考下
    2014-05-05
  • 详解Python如何循环遍历Numpy中的Array

    详解Python如何循环遍历Numpy中的Array

    Numpy是Python中常见的数据处理库,是数据科学中经常使用的库。在本文中,我们将学习如何迭代遍历访问矩阵中的元素,需要的可以参考一下
    2022-04-04
  • 详解OpenCV中简单的鼠标事件处理

    详解OpenCV中简单的鼠标事件处理

    谈及鼠标事件,就是在触发鼠标按钮后程序所做出相应的反应,但是不影响程序的整个线程。本文将主要介绍OpenCV中的简单鼠标事件处理,感兴趣的可以学习一下
    2022-01-01
  • Win10环境中如何实现python2和python3并存

    Win10环境中如何实现python2和python3并存

    这篇文章主要介绍了Win10环境中如何实现python2和python3并存,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • 基于PyQt5制作数据处理小工具

    基于PyQt5制作数据处理小工具

    这篇文章主要和大家介绍了如何利用Python中的PyQt5模块制作一个数据处理小工具,可以实现根据每个Excel数据文件里面的Sheet批量将数据文件合并成为一个汇总后的Excel数据文件,需要的可以参考一下
    2022-03-03
  • Python数据结构与算法之完全树与最小堆实例

    Python数据结构与算法之完全树与最小堆实例

    这篇文章主要介绍了Python数据结构与算法之完全树与最小堆,结合实例形式分析了Python完全树定义及堆排序功能实现相关操作技巧,需要的朋友可以参考下
    2017-12-12
  • Python高效编程技巧

    Python高效编程技巧

    我已经使用Python编程有多年了,即使今天我仍然惊奇于这种语言所能让代码表现出的整洁和对DRY编程原则的适用。这些年来的经历让我学到了很多的小技巧和知识,大多数是通过阅读很流行的开源软件,如Django, Flask, Requests中获得的
    2013-01-01
  • python实现sqlalchemy的使用概述

    python实现sqlalchemy的使用概述

    SQLAlchemy是Python中最有名的ORM工具,特点是操纵Python对象而不是SQL查询,也就是在代码层面考虑的是对象,而不是SQL,体现的是一种程序化思维,这样使得Python程序更加简洁易懂,具体内容详情跟随小编一起看看吧
    2021-08-08

最新评论