佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 教你使用一行Python代碼玩遍童年的小游戲

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

熱門標(biāo)簽:美圖手機(jī) 呼叫中心市場需求 檢查注冊表項(xiàng) 銀行業(yè)務(wù) 智能手機(jī) 服務(wù)器配置 鐵路電話系統(tǒng) 網(wǎng)站文章發(fā)布

寫在前面

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

安裝與使用

python大家都懂的,安裝第三方庫非常簡單

pip install freegames

Python

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

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

圖1

貪吃蛇

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

python -m freegames.snake

Python

復(fù)制

圖2

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

吃豆人

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

python -m freegames.pacman

Python

復(fù)制

圖3

Flappy

Flappy這個游戲和之前非常火的Flappy bird十分類似

圖4

只需要更換游戲名即可啟動

python -m freegames.flappy

Python

復(fù)制

圖5

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

Memory

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

python -m freegames.memory

Python

復(fù)制

圖8

迷宮

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

python -m freegames.maze

Python

復(fù)制

圖7

Tic Tac Toe

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

python3 -m freegames.tictactoe

Python

復(fù)制

圖8

查看源碼

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

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

python3 -m freegames copy snake

Python

復(fù)制

執(zhí)行之后,在當(dāng)前目錄下就多了一個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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 基于python pygame實(shí)現(xiàn)的兔子吃月餅小游戲
  • Python五子棋小游戲?qū)嵗窒?/li>
  • Python貪吃蛇小游戲?qū)嵗窒?/li>
  • 用Python手把手教你實(shí)現(xiàn)2048小游戲
  • 童年回憶錄之python版4399吃豆豆小游戲

標(biāo)簽:新疆 河南 長治 樂山 滄州 上海 沈陽 紅河

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《教你使用一行Python代碼玩遍童年的小游戲》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    桃园县| 和静县| 舒城县| 台中县| 巫山县| 柳州市| 梅州市| 宿州市| 拜城县| 封开县| 轮台县| 信阳市| 玉屏| 湖口县| 黎川县| 浏阳市| 富民县| 铁力市| 淮阳县| 苍山县| 驻马店市| 长葛市| 社旗县| 温州市| 伊金霍洛旗| 吉水县| 广德县| 克东县| 麦盖提县| 博湖县| 公安县| 高阳县| 邻水| 淳安县| 工布江达县| 乐都县| 喀什市| 建瓯市| 惠东县| 灵川县| 永昌县|