1. 程式人生 > >童年掌機遊戲-打磚塊(基於pygame的實現)

童年掌機遊戲-打磚塊(基於pygame的實現)

專案背景:
小時候有過一個掌機遊戲機,裡面有俄羅斯方塊,打方塊等遊戲,玩的那叫一個廢寢忘食,只是後來玩壞了就沒再玩過。今日想學習以下python,就從遊戲入手,寫一個打方塊的遊戲,順便回憶以下童年的樂趣。
此作完全是我學習python和遊戲製作的練手作品,用到的python語法和pygame外掛的api不會寫的很詳細,主要記錄學習遇到的問題和思路。
打方塊

  1. 環境準備
    1.1.安裝python,這裡我安裝的是3.6.3。(安裝教程請自行搜尋)
    1.2.安裝pygame,這裡我安裝的是1.9.3。(安裝教程請自行搜尋)
    1.3.安裝pycharm
    1.4.準備素材,開啟畫圖工具,做出一個磚塊圖片,一個小球圖片,一個板子圖片。
  2. 思路整理
    回憶遊戲流程,整個遊戲大致有以下幾個步驟
    2.1.遊戲初始化,載入三種圖片。
    2.2.點選啟動按鈕,小球移動,也可以增加暫停功能。
    2.3.小球與磚塊、板子,左右和上方牆壁的碰撞
    2.4.板子與左右牆壁的碰撞(不可超越牆壁)
    2.5.小球的落地,遊戲結束
    2.6.磚塊被打完,遊戲結束
    2.7.計分功能
    2.8.音樂~~
  3. 開整
    先從載入圖片做起。廢話不多說,直接上程式碼
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()

通過上面的程式碼就可以簡單的把圖片載入到畫面中了
這裡寫圖片描述
接下來還要讓小球和板子動起來,下次再寫。