python實戰(zhàn)之利用pygame實現(xiàn)貪吃蛇游戲(一)
一、前言
之前嘗試了自己用pygame寫井字棋,這次玩的是貪吃蛇系列。
個人感覺模塊可能會比較大,所以選擇將函數(shù)和主要邏輯代碼分在了兩個文件中。
fuc為函數(shù)模塊,存儲了事件感應(yīng)和刷新界面等部分。
main模塊則是游戲的核心。
二、搭建界面
這里我就不重復(fù)了,可以先看一下這篇博客
其中界面的基本要素都有。
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('貪吃蛇') # 游戲狀態(tài) game_stats = 1 while game_stats: update(screen,lattice_wh) check_events()
這次,我準備繪制一個25*25個格子的界面,每一個格子的長寬都為20。
這次的繪制方式和之前不一樣,我準備使用的是pygame.draw.line()函數(shù),來繪制一條條的直線。
傳入?yún)?shù):
界面(screen)
rbg顏色(我這里是(105, 105, 105),是淡灰色,吧)
起始點坐標、結(jié)束點坐標(坐標系在上面博客都有)
代碼部分:(放在update函數(shù)中,因為每一次刷新都需要重新繪制網(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 pygame import sys """存儲了相關(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()
三、運行結(jié)果
四、結(jié)語
目前我們已經(jīng)結(jié)束了界面搭建,接下來的部分我將實現(xiàn)邏輯。
請看python實戰(zhàn)之利用pygame實現(xiàn)貪吃蛇游戲(一)
到此這篇關(guān)于python實戰(zhàn)之利用pygame實現(xiàn)貪吃蛇游戲的文章就介紹到這了,更多相關(guān)pygame實現(xiàn)貪吃蛇游戲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
pytorch中的hook機制register_forward_hook
這篇文章主要介紹了pytorch中的hook機制register_forward_hook,手動在forward之前注冊hook,hook在forward執(zhí)行以后被自動執(zhí)行,下面詳細的內(nèi)容介紹,需要的小伙伴可以參考一下2022-03-03基于PyTorch實現(xiàn)EdgeCNN的實戰(zhàn)教程
本文我們將使用PyTorch來簡易實現(xiàn)一個EdgeCNN,不使用PyG庫,讓新手可以理解如何PyTorch來搭建一個簡易的圖網(wǎng)絡(luò)實例demo,感興趣的朋友跟隨小編一起看看吧2023-02-02Python中numpy模塊常見用法demo實例小結(jié)
這篇文章主要介紹了Python中numpy模塊常見用法,結(jié)合實例形式總結(jié)分析了numpy常見的運算操作技巧與注意事項,需要的朋友可以參考下2019-03-03