主頁(yè) > 知識(shí)庫(kù) > python實(shí)戰(zhàn)之利用pygame實(shí)現(xiàn)貪吃蛇游戲(一)

python實(shí)戰(zhàn)之利用pygame實(shí)現(xiàn)貪吃蛇游戲(一)

熱門標(biāo)簽:白銀外呼系統(tǒng) 唐山智能外呼系統(tǒng)一般多少錢 海南400電話如何申請(qǐng) 公司電話機(jī)器人 騰訊外呼線路 廣告地圖標(biāo)注app 陜西金融外呼系統(tǒng) 哈爾濱ai外呼系統(tǒng)定制 激戰(zhàn)2地圖標(biāo)注

一、前言

之前嘗試了自己用pygame寫井字棋,這次玩的是貪吃蛇系列。
個(gè)人感覺(jué)模塊可能會(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í)戰(zhàn)之逆向登錄世界上最大的游戲平臺(tái)Stream
  • Python實(shí)戰(zhàn)練習(xí)之終于對(duì)肯德基下手
  • python實(shí)戰(zhàn)游戲之史上最難最虐的掃雷游戲沒(méi)有之一
  • python實(shí)戰(zhàn)之制作表情包游戲
  • Python著名游戲?qū)崙?zhàn)之方塊連接 我的世界

標(biāo)簽:黔西 上海 常德 惠州 黑龍江 鷹潭 四川 益陽(yáng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python實(shí)戰(zhàn)之利用pygame實(shí)現(xiàn)貪吃蛇游戲(一)》,本文關(guān)鍵詞  python,實(shí)戰(zhàn),之,利用,pygame,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python實(shí)戰(zhàn)之利用pygame實(shí)現(xiàn)貪吃蛇游戲(一)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于python實(shí)戰(zhàn)之利用pygame實(shí)現(xiàn)貪吃蛇游戲(一)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章