您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:python实战之利用pygame实现贪吃蛇游戏(一)

51自学网 2021-10-30 22:41:08
  python
这篇教程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实现贪吃蛇游戏(二)
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。