这篇教程python实战之利用pygame实现贪吃蛇游戏(一)写得很实用,希望能帮到您。
一、前言之前尝试了自己用pygame写井字棋,这次玩的是贪吃蛇系列。 个人感觉模块可能会比较大,所以选择将函数和主要逻辑代码分在了两个文件中。 
fuc为函数模块,存储了事件感应和刷新界面等部分。 main模块则是游戏的核心。
二、搭建界面这里我就不重复了,可以先看一下这篇博客 其中界面的基本要素都有。 main.py import pygamefrom 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 = 1while 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 pygameimport 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实战之利用pygame实现贪吃蛇游戏(一) 到此这篇关于python实战之利用pygame实现贪吃蛇游戏的文章就介绍到这了,更多相关pygame实现贪吃蛇游戏内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net! Python爬虫之线程池的使用 python实战之利用pygame实现贪吃蛇游戏(二) |