教你使用一行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童年的小遊戲內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python使用海龜繪圖實現貪吃蛇遊戲
- python用海龜繪圖寫貪吃蛇遊戲
- Python turtle實現貪吃蛇遊戲
- Python制作當年第一款手機遊戲-貪吃蛇遊戲(練習)
- python實戰之利用pygame實現貪吃蛇遊戲(二)