最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

教你使用一行Python代碼玩遍童年的小游戲

 更新時(shí)間:2021年08月21日 11:17:26   作者:python可樂編程  
這篇文章主要介紹了一行Python代碼玩遍童年的小游戲,幫助大家重回童年快樂時(shí)光,代碼簡(jiǎn)單易懂,感興趣的朋友一起學(xué)習(xí)下吧

寫在前面

貪吃蛇,吃豆人,迷宮,井字游戲......這些小游戲我相信大家小的時(shí)候肯定玩過,或許在某個(gè)時(shí)段還沉迷過.
隨著年齡的增長(zhǎng),這些小游戲離我們?cè)絹碓竭h(yuǎn),但是我相信大家的童心還是一直在的
今天就分享一個(gè)真正可以玩耍的GitHub項(xiàng)目 --- free-python-games

安裝與使用

python大家都懂的,安裝第三方庫(kù)非常簡(jiǎn)單

pip install freegames

Python

由于該項(xiàng)目中的所有游戲均是基于Python內(nèi)置模塊Turtle制作,所以沒有太多依賴,安裝不會(huì)有困難

安裝完之后我們可以使用 python -m freegames list 來查看所有的游戲列表

圖1

貪吃蛇

現(xiàn)在我們可以使用一行代碼啟動(dòng)相關(guān)游戲,比如貪吃蛇snake

python -m freegames.snake

Python

復(fù)制

圖2

貪吃蛇的玩法想必不用過多解釋了,使用鍵盤⬆️⬇️⬅️➡️即可操控

吃豆人

吃豆人沒玩過也應(yīng)該聽過,使用下面的代碼可以啟動(dòng)一個(gè)類似吃豆人的游戲

python -m freegames.pacman

Python

復(fù)制

圖3

Flappy

Flappy這個(gè)游戲和之前非?;鸬腇lappy bird十分類似

圖4

只需要更換游戲名即可啟動(dòng)

python -m freegames.flappy

Python

復(fù)制

圖5

這次需要不斷點(diǎn)擊鼠標(biāo)來控制綠色小圓點(diǎn)飛行,實(shí)測(cè)比flappy bird難度要更高一點(diǎn)

Memory

Memory翻譯過來是記憶,該游戲給出一些宮格,點(diǎn)擊每一個(gè)小宮格會(huì)顯示背后藏的數(shù)字,但會(huì)快速消失,當(dāng)你成功選中兩個(gè)相同的數(shù)字之后就會(huì)顯示為拼圖,可玩性還是很高的

python -m freegames.memory

Python

復(fù)制

圖8

迷宮

這個(gè)游戲應(yīng)該就不用介紹了,找出走出迷宮對(duì)應(yīng)的路徑即可

python -m freegames.maze

Python

復(fù)制

圖7

Tic Tac Toe

這個(gè)游戲我打賭你一定玩過,單擊屏幕即可放置一個(gè)X或O,當(dāng)三個(gè)同樣的圖案在一條直線上就贏了

python3 -m freegames.tictactoe

Python

復(fù)制

圖8

查看源碼

還有更多的游戲這里就不再一一介紹,Turtle我們并不陌生,所以當(dāng)我們玩游戲時(shí)應(yīng)該思考開發(fā)者是怎樣實(shí)現(xiàn)的。使用下面的代碼即可在當(dāng)前目錄下生成對(duì)應(yīng)游戲的源碼

"免費(fèi)的python游戲?qū)⒂螒蚝蛯W(xué)習(xí)結(jié)合在一個(gè)靈活的環(huán)境中 減少編程等困難主題的壓力"

python3 -m freegames copy snake

Python

復(fù)制

執(zhí)行之后,在當(dāng)前目錄下就多了一個(gè)snake.py文件,打開就能查看游戲?qū)?yīng)的邏輯

"""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

現(xiàn)在我們就可以學(xué)習(xí)源碼并進(jìn)行修改來實(shí)現(xiàn)更多的功能與玩法,抓緊試試吧!

到此這篇關(guān)于一行Python代碼玩遍童年的小游戲的文章就介紹到這了,更多相關(guān)Python童年的小游戲內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python調(diào)用Fortran的三種形式

    Python調(diào)用Fortran的三種形式

    這篇文章主要介紹了在Python中調(diào)用Fortran的三種形式,文中有詳細(xì)的代碼示例,感興趣的同學(xué)可以參考閱讀
    2023-04-04
  • 在Python下利用OpenCV來旋轉(zhuǎn)圖像的教程

    在Python下利用OpenCV來旋轉(zhuǎn)圖像的教程

    這篇文章主要介紹了在Python下利用OpenCV來旋轉(zhuǎn)圖像的教程,代碼和核心的算法都非常簡(jiǎn)單,需要的朋友可以參考下
    2015-04-04
  • Python tempfile模塊學(xué)習(xí)筆記(臨時(shí)文件)

    Python tempfile模塊學(xué)習(xí)筆記(臨時(shí)文件)

    這篇文章主要介紹了Python tempfile模塊學(xué)習(xí)筆記,著重講解了模塊下的幾個(gè)函數(shù),需要的朋友可以參考下
    2014-05-05
  • 詳解Python如何循環(huán)遍歷Numpy中的Array

    詳解Python如何循環(huán)遍歷Numpy中的Array

    Numpy是Python中常見的數(shù)據(jù)處理庫(kù),是數(shù)據(jù)科學(xué)中經(jīng)常使用的庫(kù)。在本文中,我們將學(xué)習(xí)如何迭代遍歷訪問矩陣中的元素,需要的可以參考一下
    2022-04-04
  • 詳解OpenCV中簡(jiǎn)單的鼠標(biāo)事件處理

    詳解OpenCV中簡(jiǎn)單的鼠標(biāo)事件處理

    談及鼠標(biāo)事件,就是在觸發(fā)鼠標(biāo)按鈕后程序所做出相應(yīng)的反應(yīng),但是不影響程序的整個(gè)線程。本文將主要介紹OpenCV中的簡(jiǎn)單鼠標(biāo)事件處理,感興趣的可以學(xué)習(xí)一下
    2022-01-01
  • Win10環(huán)境中如何實(shí)現(xiàn)python2和python3并存

    Win10環(huán)境中如何實(shí)現(xiàn)python2和python3并存

    這篇文章主要介紹了Win10環(huán)境中如何實(shí)現(xiàn)python2和python3并存,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 基于PyQt5制作數(shù)據(jù)處理小工具

    基于PyQt5制作數(shù)據(jù)處理小工具

    這篇文章主要和大家介紹了如何利用Python中的PyQt5模塊制作一個(gè)數(shù)據(jù)處理小工具,可以實(shí)現(xiàn)根據(jù)每個(gè)Excel數(shù)據(jù)文件里面的Sheet批量將數(shù)據(jù)文件合并成為一個(gè)匯總后的Excel數(shù)據(jù)文件,需要的可以參考一下
    2022-03-03
  • Python數(shù)據(jù)結(jié)構(gòu)與算法之完全樹與最小堆實(shí)例

    Python數(shù)據(jù)結(jié)構(gòu)與算法之完全樹與最小堆實(shí)例

    這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)與算法之完全樹與最小堆,結(jié)合實(shí)例形式分析了Python完全樹定義及堆排序功能實(shí)現(xiàn)相關(guān)操作技巧,需要的朋友可以參考下
    2017-12-12
  • Python高效編程技巧

    Python高效編程技巧

    我已經(jīng)使用Python編程有多年了,即使今天我仍然驚奇于這種語言所能讓代碼表現(xiàn)出的整潔和對(duì)DRY編程原則的適用。這些年來的經(jīng)歷讓我學(xué)到了很多的小技巧和知識(shí),大多數(shù)是通過閱讀很流行的開源軟件,如Django, Flask, Requests中獲得的
    2013-01-01
  • python實(shí)現(xiàn)sqlalchemy的使用概述

    python實(shí)現(xiàn)sqlalchemy的使用概述

    SQLAlchemy是Python中最有名的ORM工具,特點(diǎn)是操縱Python對(duì)象而不是SQL查詢,也就是在代碼層面考慮的是對(duì)象,而不是SQL,體現(xiàn)的是一種程序化思維,這樣使得Python程序更加簡(jiǎn)潔易懂,具體內(nèi)容詳情跟隨小編一起看看吧
    2021-08-08

最新評(píng)論

图木舒克市| 台北市| 富源县| 公主岭市| 兴隆县| 西充县| 都安| 漳浦县| 自治县| 梓潼县| 柞水县| 滦南县| 金乡县| 花垣县| 平泉县| 宜都市| 望城县| 滨州市| 攀枝花市| 锡林浩特市| 长白| 惠州市| 于田县| 武山县| 海南省| 广德县| 西乌珠穆沁旗| 肇庆市| 禹城市| 浦东新区| 米易县| 永胜县| 富民县| 甘孜县| 孟津县| 楚雄市| 桑日县| 白银市| 板桥市| 万州区| 苏尼特左旗|