当前位置: 首页 > news >正文

Python教程:制作贪吃蛇游戏存以exe文件运行

Python,作为一种解释型、面向对象、动态数据类型的高级程序设计语言,其简洁易懂的语法和丰富的库使得它成为开发小游戏的理想选择。

下面,我们就来一步步教大家如何用Python制作一个贪食蛇小游戏,并将其打包成exe程序,让你即使没有Python环境也能轻松运行。

一、安装必要的库

首先,我们需要安装pygame库,它是一个用于编写视频游戏的Python模块。你可以在Anaconda Terminal中通过pip来安装:

pip install pygame

二、初始化游戏窗口

首先我们要生成贪食蛇游戏的初始窗口:

import pygame
import sys
import random
import time# 初始化pygame
pygame.init()# 设置游戏窗口大小
win_width, win_height = 640, 480  
window = pygame.display.set_mode((win_width, win_height))
pygame.display.set_caption('贪食蛇小游戏')

窗口默认尺寸是640×480,你可以条件这两个参数来调整窗口大小。


三、定义蛇和食物

有了初始窗口,接下来我们需要生成蛇的主体(一个白色的长方形),以及食物(绿色方块):

# 定义颜色
WHITE = (255, 255, 255)
RED = (255, 0, 0)
GREEN = (0, 255, 0)# 蛇的初始位置和大小
snake_pos = [100, 50]
snake_body = [[100, 50], [90, 50], [80, 50]]
snake_speed = 15  # 初始速度,数值越小速度越快
direction = 'RIGHT'  # 初始方向# 食物的初始位置
food_pos = [random.randrange(1, win_width // 10) * 10, random.randrange(1, win_height // 10) * 10]
food_spawn = True

上面的代码涉及一些重要参数:

蛇的初始位置是通过二维坐标定义的,用户可以根据需求自行修改,但不可超过初始窗口的边界;

蛇的移动速度默认是15,如果觉得速度太慢可以改为更大的数值;

食物的初始位置可以任意指定。在后续的循环过程中,如果蛇吃掉了当前的食物,系统会自动随机生成新的食物。


四、游戏主循环 

接下来,我们需要构造游戏的主循环语句,主要完成下列任务:

根据用户的操作来更新蛇的位置;

判断蛇是否吃掉了食物;

判断是否需要更新蛇的长度并生成新的食物。

clock = pygame.time.Clock()running = True
while running:for event in pygame.event.get():if event.type == pygame.QUIT:running = Falseif event.type == pygame.KEYDOWN:if event.key == pygame.K_UP:if direction != 'DOWN':direction = 'UP'if event.key == pygame.K_DOWN:if direction != 'UP':direction = 'DOWN'if event.key == pygame.K_LEFT:if direction != 'RIGHT':direction = 'LEFT'if event.key == pygame.K_RIGHT:if direction != 'LEFT':direction = 'RIGHT'if event.key == pygame.K_ESCAPE:running = False# 更新蛇的位置head = list(snake_body[0])if direction == 'UP':head[1] -= 10if direction == 'DOWN':head[1] += 10if direction == 'LEFT':head[0] -= 10if direction == 'RIGHT':head[0] += 10snake_body.insert(0, list(head))# 检查是否吃到食物# ......此处省略部分代码# 绘制食物和蛇pygame.draw.rect(window, GREEN, (food_pos[0], food_pos[1], 10, 10))for pos in snake_body:pygame.draw.rect(window, WHITE, (pos[0], pos[1], 10, 10))# 检查游戏结束条件,确保只有碰到边界或自身时才结束游戏# ......此处省略部分代码
pygame.quit()
sys.exit()


五、打包成exe程序

最后,我们只需要把上述的代码打包成exe程序即可。

为了将Python脚本打包成exe程序,你可以使用pyinstaller库。首先,你需要在命令行中(例如Anaconda Terminal)安装它:

pip install pyinstaller

然后,使用以下命令将你的Python脚本(假设脚本名为snake_game.py)打包成exe程序。

例如我们上面的代码脚本是保存在D盘里,那么在打包的时候需要写出该脚本的绝对路径:

pyinstaller --onefile D:\snake.py --distpath D:\

打包完成后,你会在D盘下面找到生成的exe文件。

图片

双击打开exe文件即可运行程序,方向键控制方向,Esc键退出游戏。

图片


http://www.mrgr.cn/news/56885.html

相关文章:

  • D41【python 接口自动化学习】- python基础之函数
  • SAP依靠 “增压 “Joule加速ERP迁移
  • 实现uniapp天地图边界范围覆盖
  • chrome清除https状态
  • React Strict DOM:React Native 通用应用程序的未来
  • mac电脑设置chrome浏览器语言切换为日语英语等不生效问题
  • Xinference 注册本地模型
  • 【MySQL 保姆级教学】表的约束--详细(6)
  • 谷歌仓库管理工具repo
  • Midjourney最新版本爆火全网!网友:和摄影几乎没区别!!!
  • leetcode:输入m,n(1 < m < n < 1000000),返回区间[m,n]内的所有素数的个数
  • 在Maple中创建交互式应用程序
  • Maven 不同环境灵活构建
  • Kotlin学习第一课
  • 通过滑动控制 图片3d(多张视频序列帧图片) 展示
  • linux调用exit函数退出进程,变跟的文件内容会立即同步到磁盘吗
  • 人大金仓下载,有人知道怎么解决吗
  • 如何在本地运行threejs官方示例
  • 模组典型上网业务的AT上网流程,明明白白告诉你!
  • 26备战秋招day11——基于CoNLL-2003的bert序列标注
  • pikachu靶场File Inclusion-local测试报告
  • Python爬取京东商品信息,详细讲解,手把手教学(附源码)
  • visio图片三维旋转后导出,格式错乱怎么解决?
  • 解锁团队高效秘诀:5款顶尖PHP任务管理工具推荐
  • 视频转换为8K60帧率
  • opencv - py_photo - py_non_local_means 非局部均值去噪