基于pygame實(shí)現(xiàn)童年掌機(jī)打磚塊游戲
本文為大家分享了童年掌機(jī)游戲,基于pygame實(shí)現(xiàn)打磚塊的具體代碼,供大家參考,具體內(nèi)容如下
項(xiàng)目背景:
小時(shí)候有過一個(gè)掌機(jī)游戲機(jī),里面有俄羅斯方塊,打方塊等游戲,玩的那叫一個(gè)廢寢忘食,只是后來玩壞了就沒再玩過。今日想學(xué)習(xí)以下python,就從游戲入手,寫一個(gè)打方塊的游戲,順便回憶以下童年的樂趣。
此作完全是我學(xué)習(xí)python和游戲制作的練手作品,用到的python語法和pygame插件的api不會(huì)寫的很詳細(xì),主要記錄學(xué)習(xí)遇到的問題和思路。

1、環(huán)境準(zhǔn)備
1.1.安裝python,這里我安裝的是3.6.3。(安裝教程請(qǐng)自行搜索)
1.2.安裝pygame,這里我安裝的是1.9.3。(安裝教程請(qǐng)自行搜索)
1.3.安裝pycharm
1.4.準(zhǔn)備素材,打開畫圖工具,做出一個(gè)磚塊圖片,一個(gè)小球圖片,一個(gè)板子圖片。
2、思路整理
回憶游戲流程,整個(gè)游戲大致有以下幾個(gè)步驟
2.1.游戲初始化,載入三種圖片。
2.2.點(diǎn)擊啟動(dòng)按鈕,小球移動(dòng),也可以增加暫停功能。
2.3.小球與磚塊、板子,左右和上方墻壁的碰撞
2.4.板子與左右墻壁的碰撞(不可超越墻壁)
2.5.小球的落地,游戲結(jié)束
2.6.磚塊被打完,游戲結(jié)束
2.7.計(jì)分功能
2.8.音樂~~
3、開整
先從載入圖片做起。廢話不多說,直接上代碼
import pygame
from pygame.locals import *
from sys import exit
# pygame初始化,必須要的
pygame.init()
# 創(chuàng)建窗口
# pygame.display是訪問了顯示設(shè)備
# set_mode方法會(huì)返回一個(gè)Surface對(duì)象,即本程序運(yùn)行時(shí)出現(xiàn)的窗口畫面
screen = pygame.display.set_mode((360, 480))
# 設(shè)置窗口的名字
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')
# 游戲程序一般都需要一個(gè)死循環(huán),通過某些條件才可以退出
while True:
for event in pygame.event.get():
# 接受退出時(shí)間后退出程序
if event.type == QUIT:
exit()
# 把畫面背景設(shè)置為白色
screen.fill((255, 255, 255))
#把上面加載的圖片放入到畫面中
# 把球放進(jìn)去,并設(shè)置坐標(biāo)
screen.blit(ball, (180, 430))
# 把磚塊放進(jìn)去,并設(shè)置坐標(biāo)
# 這里僅放了一個(gè)磚塊,以后可以做個(gè)循環(huán)放好多磚塊
screen.blit(block, (20, 20))
# 把板子放進(jìn)去,并設(shè)置坐標(biāo)
screen.blit(board, (150, 450))
# 刷新畫面
pygame.display.update()
通過上面的代碼就可以簡(jiǎn)單的把圖片加載到畫面中了

接下來還要讓小球和板子動(dòng)起來,下次再寫。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python scrapy增量爬取實(shí)例及實(shí)現(xiàn)過程解析
這篇文章主要介紹了Python scrapy增量爬取實(shí)例及實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12
pycharm遠(yuǎn)程調(diào)試openstack的圖文教程
這篇文章主要為大家詳細(xì)介紹了pycharm遠(yuǎn)程調(diào)試openstack的圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11
Python訪問OPCUA服務(wù)器,訂閱一個(gè)變量標(biāo)簽方式
這篇文章主要介紹了Python訪問OPCUA服務(wù)器,訂閱一個(gè)變量標(biāo)簽方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
python爬蟲入門教程--優(yōu)雅的HTTP庫requests(二)
requests 實(shí)現(xiàn)了 HTTP 協(xié)議中絕大部分功能,它提供的功能包括 Keep-Alive、連接池、Cookie持久化、內(nèi)容自動(dòng)解壓、HTTP代理、SSL認(rèn)證等很多特性,下面這篇文章主要給大家介紹了python爬蟲入門中關(guān)于優(yōu)雅的HTTP庫requests的相關(guān)資料,需要的朋友可以參考下。2017-05-05
python3實(shí)現(xiàn)基于用戶的協(xié)同過濾
這篇文章主要為大家詳細(xì)介紹了python3實(shí)現(xiàn)基于用戶的協(xié)同過濾,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05
Python實(shí)現(xiàn)讀取文件的方法總結(jié)
這篇文章主要為大家詳細(xì)介紹了Python中實(shí)現(xiàn)讀取文件效果的幾種方法總結(jié),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-09-09
python的import?機(jī)制是怎么實(shí)現(xiàn)的
這篇文章主要介紹了python的import?機(jī)制是怎么實(shí)現(xiàn)的,import有Python運(yùn)行時(shí)的全局模塊池的維護(hù)和搜索、解析與搜索模塊路徑的樹狀結(jié)構(gòu)等作用,下文具體相關(guān)介紹需要的小伙伴可以參考一下2022-05-05
Python實(shí)現(xiàn)將DOC文檔轉(zhuǎn)換為PDF的方法
這篇文章主要介紹了Python實(shí)現(xiàn)將DOC文檔轉(zhuǎn)換為PDF的方法,涉及Python調(diào)用系統(tǒng)win32com組件實(shí)現(xiàn)文件格式轉(zhuǎn)換的相關(guān)技巧,需要的朋友可以參考下2015-07-07
人機(jī)交互程序 python實(shí)現(xiàn)人機(jī)對(duì)話
這篇文章主要為大家詳細(xì)介紹了人機(jī)交互程序,初步實(shí)現(xiàn)python人機(jī)對(duì)話,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11

