朋友們大家好,相信大部分人都喜歡玩遊戲,無論是在工作間隙還是下班回家的路上,可能都會拿起手機玩遊戲打發時間,亦或是在遊戲中尋找樂趣,放松自己。上一系列的推文已經結束,主要是跟大家分享了些Python的基礎知識,大家可以在公衆号主界面檢視。從今天起,讓我們開啟進階模式,一起來學習用Python制作簡單的小遊戲。
我跟大家分享的内容主要是用Python的Pygame Zero子產品來制作小遊戲,同時推薦程式設計環境:Thonny(開源跨平台)。Thonny是一個跨平台的開源開發環境,自帶Python解釋器,體積小巧、功能齊備。掃描如下二維碼,會有老師手把手教你如何安裝Thonny和運用Thonny。
Thonny安裝好後,進行Pygame Zero子產品的安裝。首先打開Thonny,點選菜單“工具”->“管理子產品”,輸入“pgzero” 點選搜尋,最後點選“install” ,安裝成功!
我們制作一個小精靈,要求點選小精靈後,會發出聲音并且精靈會摔倒。第一步建立遊戲角色:
• 在源代碼檔案目錄下建立兩個目錄:一個是images(名字可自定義),用來存放圖檔檔案;另一個是sounds,用來存放聲音檔案。
• 用Actor類建立一個精靈對象:指定圖檔、位置
• 在draw中畫出精靈:精靈圖檔将出現在指定的位置alien.pos
第二步更新update:改變精靈的位置,每秒會改變60次!
import pgzrun
import time
#建立一個精靈
alien = Actor('alien')
alien.pos = 100,56
#繪制視窗大小
WIDTH = 500
HEIGHT = alien.height + 100
#每次需要重新整理視窗的時候,會自動調用draw函數
def draw():
screen.clear()
screen.fill((128, 0, 0))
alien.draw()
每一幀都會調用update函數
def update():
alien.left += 2
if alien.left > WIDTH:
alien.left = 0
複制
第三步與精靈的互動:pos是滑鼠的位置,當點選到精靈,精靈就會摔倒,并發出“呃”的聲音,1s後恢複初始狀态;如果沒有點選到精靈,就會列印出“快閃”二字;如果無點選行為,精靈就将一直循環移動。
def on_mouse_down(pos):
if alien.collidepoint(pos):
set_alien_hurt()
else:
print("快閃")
def set_alien_hurt():
sounds.eep.play()
alien.image = 'alien_hurt'
print("呃")
clock.schedule_unique(set_alien_normal, 1.0)
def set_alien_normal():
alien.image = 'alien'
pgzrun.go()
複制
到這裡就大功告成了!以上是一個小例子,讓大家初識Python的Pygame Zero子產品,大家在空餘時間可以用Python來做做小遊戲,一方面可以鞏固相關知識,另一方面可以開拓視野釋放壓力。
上期參考答案
程式:
from turtle import *
from random import *
from math import *
def tree(n, l):
pd()
pencolor('brown')
pensize(n / 3)
forward(l)
if n > 0:
b = random() * 15 + 10
c = random() * 15 + 10
d = l * (random() * 0.25 + 0.7)
right(b)
tree(n - 1, d)
left(b + c)
tree(n - 1, d)
right(c)
else:
right(90)
pencolor('green')
circle(3)
left(90)
pu()
backward(l)
ht()
speed(0)
tracer(0)
pu()
backward(100)
left(90)
pu()
backward(300)
tree(12, 100)
done()
複制
結果:
