python實(shí)戰(zhàn)之利用pygame實(shí)現(xiàn)貪吃蛇游戲(一)
一、前言
之前嘗試了自己用pygame寫井字棋,這次玩的是貪吃蛇系列。
個(gè)人感覺模塊可能會(huì)比較大,所以選擇將函數(shù)和主要邏輯代碼分在了兩個(gè)文件中。

fuc為函數(shù)模塊,存儲(chǔ)了事件感應(yīng)和刷新界面等部分。
main模塊則是游戲的核心。
二、搭建界面
這里我就不重復(fù)了,可以先看一下這篇博客
其中界面的基本要素都有。
main.py
import pygame
from 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 = 1
while 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 pygame
import 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é)果

四、結(jié)語(yǔ)
目前我們已經(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)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 教你一步步利用python實(shí)現(xiàn)貪吃蛇游戲
- python實(shí)現(xiàn)貪吃蛇游戲源碼
- 200行python代碼實(shí)現(xiàn)貪吃蛇游戲
- python實(shí)戰(zhàn)之利用pygame實(shí)現(xiàn)貪吃蛇游戲(二)
- Python turtle實(shí)現(xiàn)貪吃蛇游戲
- Python使用海龜繪圖實(shí)現(xiàn)貪吃蛇游戲
- Python實(shí)現(xiàn)貪吃蛇小游戲(單人模式)
- Python實(shí)現(xiàn)貪吃蛇小游戲(雙人模式)
- Python利用手勢(shì)識(shí)別實(shí)現(xiàn)貪吃蛇游戲
- python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的貪吃蛇游戲附代碼
相關(guān)文章
pytorch中的hook機(jī)制register_forward_hook
這篇文章主要介紹了pytorch中的hook機(jī)制register_forward_hook,手動(dòng)在forward之前注冊(cè)hook,hook在forward執(zhí)行以后被自動(dòng)執(zhí)行,下面詳細(xì)的內(nèi)容介紹,需要的小伙伴可以參考一下2022-03-03
vue防止用戶連續(xù)點(diǎn)擊造成多次提交的三種解決方法
本文主要介紹了vue防止用戶連續(xù)點(diǎn)擊造成多次提交的三種解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-03-03
基于PyTorch實(shí)現(xiàn)EdgeCNN的實(shí)戰(zhàn)教程
本文我們將使用PyTorch來(lái)簡(jiǎn)易實(shí)現(xiàn)一個(gè)EdgeCNN,不使用PyG庫(kù),讓新手可以理解如何PyTorch來(lái)搭建一個(gè)簡(jiǎn)易的圖網(wǎng)絡(luò)實(shí)例demo,感興趣的朋友跟隨小編一起看看吧2023-02-02
Python中numpy模塊常見用法demo實(shí)例小結(jié)
這篇文章主要介紹了Python中numpy模塊常見用法,結(jié)合實(shí)例形式總結(jié)分析了numpy常見的運(yùn)算操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-03-03
python中通過(guò)預(yù)先編譯正則表達(dá)式提高效率
Python是一個(gè)很酷的語(yǔ)言,因?yàn)槟憧梢栽诤芏痰臅r(shí)間內(nèi)利用很少的代碼做很多事情,再加上正則表達(dá)式就更能體現(xiàn)其效果,下面這篇文章主要給大家介紹了關(guān)于python中通過(guò)預(yù)先編譯正則表達(dá)式提高效率的相關(guān)資料,需要的朋友可以參考下。2017-09-09

