python實(shí)戰(zhàn)之利用pygame實(shí)現(xiàn)貪吃蛇游戲(一)
之前嘗試了自己用pygame寫(xiě)井字棋,這次玩的是貪吃蛇系列。個(gè)人感覺(jué)模塊可能會(huì)比較大,所以選擇將函數(shù)和主要邏輯代碼分在了兩個(gè)文件中。
fuc為函數(shù)模塊,存儲(chǔ)了事件感應(yīng)和刷新界面等部分。main模塊則是游戲的核心。
二、搭建界面這里我就不重復(fù)了,可以先看一下這篇博客其中界面的基本要素都有。
main.py
import pygamefrom fuc import *# 基本屬性lattice_wh = 20 #長(zhǎng)寬snake_color = (84, 255, 159)food_color = (255, 64, 64)# 繪制界面pygame.init()screen = pygame.display.set_mode((25*lattice_wh,25*lattice_wh))pygame.display.set_caption(’貪吃蛇’)# 游戲狀態(tài)game_stats = 1while game_stats: update(screen,lattice_wh) check_events()
這次,我準(zhǔn)備繪制一個(gè)25*25個(gè)格子的界面,每一個(gè)格子的長(zhǎng)寬都為20。這次的繪制方式和之前不一樣,我準(zhǔn)備使用的是pygame.draw.line()函數(shù),來(lái)繪制一條條的直線。傳入?yún)?shù):界面(screen)rbg顏色(我這里是(105, 105, 105),是淡灰色,吧)起始點(diǎn)坐標(biāo)、結(jié)束點(diǎn)坐標(biāo)(坐標(biāo)系在上面博客都有)
代碼部分:(放在update函數(shù)中,因?yàn)槊恳淮嗡⑿露夹枰匦吕L制網(wǎng)格)
def update(screen,lattice_wh): '''屏幕刷新''' # 背景顏色 screen.fill((255,255,255)) # 繪制網(wǎng)格 for i in range(25):pygame.draw.line(screen,(105, 105, 105),(0,lattice_wh*i),(500,lattice_wh*i)) for i in range(25):pygame.draw.line(screen,(105, 105, 105),(lattice_wh*i,0),(lattice_wh*i,500)) pygame.display.flip()
fuc模塊:
import pygameimport sys'''存儲(chǔ)了相關(guān)的函數(shù)'''def update(screen,lattice_wh): '''屏幕刷新''' # 背景顏色 screen.fill((255,255,255)) # 繪制網(wǎng)格 for i in range(25):pygame.draw.line(screen,(105, 105, 105),(0,lattice_wh*i),(500,lattice_wh*i)) for i in range(25):pygame.draw.line(screen,(105, 105, 105),(lattice_wh*i,0),(lattice_wh*i,500)) pygame.display.flip()def check_events(): for event in pygame.event.get():if event.type == pygame.QUIT: sys.exit()三、運(yùn)行結(jié)果
目前我們已經(jīng)結(jié)束了界面搭建,接下來(lái)的部分我將實(shí)現(xiàn)邏輯。
請(qǐng)看python實(shí)戰(zhàn)之利用pygame實(shí)現(xiàn)貪吃蛇游戲(一)
到此這篇關(guān)于python實(shí)戰(zhàn)之利用pygame實(shí)現(xiàn)貪吃蛇游戲的文章就介紹到這了,更多相關(guān)pygame實(shí)現(xiàn)貪吃蛇游戲內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. JSP+Servlet實(shí)現(xiàn)文件上傳到服務(wù)器功能2. CSS可以做的幾個(gè)令你嘆為觀止的實(shí)例分享3. 概述IE和SQL2k開(kāi)發(fā)一個(gè)XML聊天程序4. jsp實(shí)現(xiàn)textarea中的文字保存換行空格存到數(shù)據(jù)庫(kù)的方法5. javascript xml xsl取值及數(shù)據(jù)修改第1/2頁(yè)6. 低版本IE正常運(yùn)行HTML5+CSS3網(wǎng)站的3種解決方案7. 讀大數(shù)據(jù)量的XML文件的讀取問(wèn)題8. jsp文件下載功能實(shí)現(xiàn)代碼9. JSP之表單提交get和post的區(qū)別詳解及實(shí)例10. jsp+servlet實(shí)現(xiàn)猜數(shù)字游戲
