效果呈現:

運行后的效果差不多就是介個樣紙啦
前期準備
雖然很簡單,但是咱們還是需要一些小準備的,我們首先需要下載pygame庫,用于咱們的視窗和運行條件
首先 win + R 打開我們的運行視窗,然后輸入cmd,像這樣:

藍后點擊確定,進入命令提示符中,輸入pip install pygame 像這樣:

點擊回車就下載啦!下載完畢,接下來就可以進入我們的代碼的撰寫環節啦!想想還有點小激動
代碼環節
首先咱們還是先匯入庫
# 匯入pygame庫,并進行初始化
import pygame, sys, random
from pygame.locals import*
pygame.init()
藍后,創建視窗,設定一個喜歡的標題
# 創建一個長寬分別為480/650視窗
canvas = pygame.display.set_mode((400, 600))
canvas.fill((255, 255, 255))
# 設定視窗標題
pygame.display.set_caption("幸運小星星")
當然,退出程式也先搞定
#視窗點擊事件
def handleEvent():
for event in pygame.event.get():
if event.type == QUIT :
pygame.quit()
sys.exit()
到這里,咱們就有一個高端的視窗啦!
圖片的選取咱們也得做好,這里咱們使用隨機的方式整出每一張要展現的圖片,當然,圖片咱們需要自己先準備好,放入咱們的檔案夾中,我們設定根據時間減慢速度,當時間小于0之后,等到坐標變成0,也就是圖片到達剛剛好的位置的時候我們就讓圖片停止
#參選圖片
class Photo():
def __init__(self,m):
self.width = 400
self.height = 600
self.n = random.randint(1,6)
self.n1 = random.randint(1,6)
self.img = pygame.image.load("images/photo"+str(self.n)+".jpg")
self.imgs = pygame.image.load("images/photo"+str(self.n1)+".jpg")
self.x1 = 0
self.y1 = 0
self.x2 = 0
self.y2 = -self.height
self.m = m
# 創建paint方法
def paint(self):
canvas.blit(self.img, (self.x1, self.y1))
canvas.blit(self.imgs, (self.x2, self.y2))
if self.y1 >= self.height:
self.n = random.randint(1,6)
self.img = pygame.image.load("images/photo"+str(self.n)+".jpg")
if self.y2 >= self.height:
self.n1 = random.randint(1,6)
self.imgs = pygame.image.load("images/photo"+str(self.n1)+".jpg")
# 創建step方法
def step(self):
self.y1 = self.y1 + self.m
self.y2 = self.y2 + self.m
if self.y1 > self.height:
self.y1 = -self.height
if self.y2 > self.height:
self.y2 = -self.height
if Game.t == 10:
self.m = 10
if Game.t == 8:
self.m = 8
if Game.t == 5:
self.m = 5
if Game.t == 3:
self.m =1
if Game.t <= 0:
if self.y1 == 0 or self.y2 ==0:
self.m = 0
到這里就差不多結束啦,原始碼附上:
# 匯入pygame庫,并進行初始化
import pygame, sys, random
from pygame.locals import*
pygame.init()
# 創建一個長寬分別為480/650視窗
canvas = pygame.display.set_mode((400, 600))
canvas.fill((255, 255, 255))
# 設定視窗標題
pygame.display.set_caption("幸運小星星")
#視窗點擊事件
def handleEvent():
for event in pygame.event.get():
if event.type == QUIT :
pygame.quit()
sys.exit()
#參選圖片
class Photo():
def __init__(self,m):
self.width = 400
self.height = 600
self.n = random.randint(1,6)
self.n1 = random.randint(1,6)
self.img = pygame.image.load("images/photo"+str(self.n)+".jpg")
self.imgs = pygame.image.load("images/photo"+str(self.n1)+".jpg")
self.x1 = 0
self.y1 = 0
self.x2 = 0
self.y2 = -self.height
self.m = m
# 創建paint方法
def paint(self):
canvas.blit(self.img, (self.x1, self.y1))
canvas.blit(self.imgs, (self.x2, self.y2))
if self.y1 >= self.height:
self.n = random.randint(1,6)
self.img = pygame.image.load("images/photo"+str(self.n)+".jpg")
if self.y2 >= self.height:
self.n1 = random.randint(1,6)
self.imgs = pygame.image.load("images/photo"+str(self.n1)+".jpg")
# 創建step方法
def step(self):
self.y1 = self.y1 + self.m
self.y2 = self.y2 + self.m
if self.y1 > self.height:
self.y1 = -self.height
if self.y2 > self.height:
self.y2 = -self.height
if Game.t == 10:
self.m = 10
if Game.t == 8:
self.m = 8
if Game.t == 5:
self.m = 5
if Game.t == 3:
self.m =1
if Game.t <= 0:
if self.y1 == 0 or self.y2 ==0:
self.m = 0
#Game類
class Game():
#創建移動速度
m = 50
#照片物件
photo = Photo(m)
#設定初始時間
t=30
#設定初始分數
n=0
#繪制組件
def conPaint():
Game.photo.paint()
#計時方法
def gametime():
#倒計時判斷
if Game.n%50==0:
Game.t=Game.t-1
Game.n=Game.n+1
#組件移動
def conStep():
Game.photo.step()
#控制方法
def control():
conPaint()
conStep()
gametime()
while True:
#呼叫控制方法
control()
# 更新螢屏內容
pygame.display.update()
# 處理關閉游戲
handleEvent()
很簡單的一個小程式,如果想要加點聲音,整點氣氛,咱們可以用這個方法,在里面傳入音頻路徑就可以啦!當然,不要忘記在回圈里呼叫哦!
bgmusic=pygame.mixer.Sound() #括號里填入音頻路徑
bgmusic.play() # 這個在回圈里呼叫
向各位大佬學習,在前往優秀的路途中勇往直前,勇闖天涯
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/276284.html
標籤:其他
