您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關python中怎么利用pygame實現貪吃蛇游戲的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
之前嘗試了自己用pygame寫井字棋,這次玩的是貪吃蛇系列。
個人感覺模塊可能會比較大,所以選擇將函數和主要邏輯代碼分在了兩個文件中。
fuc為函數模塊,存儲了事件感應和刷新界面等部分。
main模塊則是游戲的核心。
這里我就不重復了,可以先看一下這篇博客
其中界面的基本要素都有。
main.py
import pygame from fuc import * # 基本屬性 lattice_wh = 20 #長寬 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('貪吃蛇') # 游戲狀態 game_stats = 1 while game_stats: update(screen,lattice_wh) check_events()
這次,我準備繪制一個25*25個格子的界面,每一個格子的長寬都為20。
這次的繪制方式和之前不一樣,我準備使用的是pygame.draw.line()函數,來繪制一條條的直線。
傳入參數:
界面(screen)
rbg顏色(我這里是(105, 105, 105),是淡灰色,吧)
起始點坐標、結束點坐標(坐標系在上面博客都有)
代碼部分:(放在update函數中,因為每一次刷新都需要重新繪制網格)
def update(screen,lattice_wh): """屏幕刷新""" # 背景顏色 screen.fill((255,255,255)) # 繪制網格 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 pygame import sys """存儲了相關的函數""" def update(screen,lattice_wh): """屏幕刷新""" # 背景顏色 screen.fill((255,255,255)) # 繪制網格 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()
python的數據類型:1. 數字類型,包括int(整型)、long(長整型)和float(浮點型)。2.字符串,分別是str類型和unicode類型。3.布爾型,Python布爾類型也是用于邏輯運算,有兩個值:True(真)和False(假)。4.列表,列表是Python中使用最頻繁的數據類型,集合中可以放任何數據類型。5. 元組,元組用”()”標識,內部元素用逗號隔開。6. 字典,字典是一種鍵值對的集合。7. 集合,集合是一個無序的、不重復的數據組合。
感謝各位的閱讀!關于“python中怎么利用pygame實現貪吃蛇游戲”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。