童年掌機遊戲-打磚塊(基於pygame的實現)
阿新 • • 發佈:2019-01-26
專案背景:
小時候有過一個掌機遊戲機,裡面有俄羅斯方塊,打方塊等遊戲,玩的那叫一個廢寢忘食,只是後來玩壞了就沒再玩過。今日想學習以下python,就從遊戲入手,寫一個打方塊的遊戲,順便回憶以下童年的樂趣。
此作完全是我學習python和遊戲製作的練手作品,用到的python語法和pygame外掛的api不會寫的很詳細,主要記錄學習遇到的問題和思路。
- 環境準備
1.1.安裝python,這裡我安裝的是3.6.3。(安裝教程請自行搜尋)
1.2.安裝pygame,這裡我安裝的是1.9.3。(安裝教程請自行搜尋)
1.3.安裝pycharm
1.4.準備素材,開啟畫圖工具,做出一個磚塊圖片,一個小球圖片,一個板子圖片。 - 思路整理
回憶遊戲流程,整個遊戲大致有以下幾個步驟
2.1.遊戲初始化,載入三種圖片。
2.2.點選啟動按鈕,小球移動,也可以增加暫停功能。
2.3.小球與磚塊、板子,左右和上方牆壁的碰撞
2.4.板子與左右牆壁的碰撞(不可超越牆壁)
2.5.小球的落地,遊戲結束
2.6.磚塊被打完,遊戲結束
2.7.計分功能
2.8.音樂~~ - 開整
先從載入圖片做起。廢話不多說,直接上程式碼
import pygame
from pygame.locals import *
from sys import exit
# pygame初始化,必須要的
pygame.init()
# 建立視窗
# pygame.display是訪問了顯示裝置
# set_mode方法會返回一個Surface物件,即本程式執行時出現的視窗畫面
screen = pygame.display.set_mode((360, 480))
# 設定視窗的名字
pygame.display.set_caption('打磚塊')
# 載入影象
# 球
ball = pygame.image.load('img/ball.png')
# 磚塊
block = pygame.image.load('img/block.png')
# 板子
board = pygame.image.load('img/board.png')
# 遊戲程式一般都需要一個死迴圈,通過某些條件才可以退出
while True:
for event in pygame.event.get():
# 接受退出時間後退出程式
if event.type == QUIT:
exit()
# 把畫面背景設定為白色
screen.fill((255, 255, 255))
#把上面載入的圖片放入到畫面中
# 把球放進去,並設定座標
screen.blit(ball, (180, 430))
# 把磚塊放進去,並設定座標
# 這裡僅放了一個磚塊,以後可以做個迴圈放好多磚塊
screen.blit(block, (20, 20))
# 把板子放進去,並設定座標
screen.blit(board, (150, 450))
# 重新整理畫面
pygame.display.update()
通過上面的程式碼就可以簡單的把圖片載入到畫面中了
接下來還要讓小球和板子動起來,下次再寫。