irpas技术客

使用Python语言制作贪吃蛇游戏,并制作成为exe可执行文件_托马斯-酷涛_python 贪吃蛇exe

网络投稿 7080

本项目为贪吃蛇游戏,上下左右控制蛇的行走路径,并将游戏打包为exe文件,可供其他没有python环境和代码的电脑 Play 游戏!

?

目录

一、项目成果

二、项目架构

三、项目代码

四、环境搭建

五、矢量图标库

六、程序打包

七、程序运行


一、项目成果

?

二、项目架构

三、项目代码 # -*- coding: utf-8 -*- # @Time : 2022/11/7 14:40 # @Author : Tuomasi # @File : Snake.py # @CSDN : http://tuomasi.blog.csdn.net/ import pygame import sys import random from pygame.locals import * class Snake(object): # 制作背景和蛇、果实的的颜色, 0-255, 0,0,0,是代表黑色, 255,255,255代表白色 def __init__(self): self.black = pygame.Color(0, 0, 0) self.red = pygame.Color(255, 0, 0) self.white = pygame.Color(255, 255, 255) # 游戏结束 def gameover(self): print("******游戏结束!******") pygame.quit() sys.exit() # 初始化 def initialize(self): pygame.init() # 定义蛇运动的速度 clock = pygame.time.Clock() # 定义一个游戏界面 playSurface = pygame.display.set_mode((800, 600)) # 设置界面名字 pygame.display.set_caption('python贪吃蛇小游戏') # 初始化变量 snakePosition = [80, 80] # 贪吃蛇起始位置,前面的参数数水平方向的距离,后面的参数是垂直方向的距离 # 贪吃蛇的长度,设定为方块的三百,每个方块的长度为25 snakebody = [[80, 80], [60, 80], [40, 80]] targetPosition = [200, 400] # 方块的初始位置 targetflag = 1 # 定义一个标记,目的用来判断果实是否被吃掉 direction = 'right' # 初始化运动方向 changeDirection = direction # 改变方向变量 self.main(snakebody, targetPosition, targetflag, direction, changeDirection, snakePosition, playSurface, clock) # 主函数 def main(self, snakebody, targetPosition, targetflag, direction, changeDirection, snakePosition, playSurface, clock): while True: # 用循环来获得pygame中的所有事件 for event in pygame.event.get(): if event.type == QUIT: pygame.quit() sys.exit() # 创建一个键盘的事件 elif event.type == KEYDOWN: # 判断键盘的方向 if event.key == K_RIGHT: changeDirection = 'right' print('向右') if event.key == K_LEFT: changeDirection = 'left' print("向左") if event.key == K_DOWN: print('向下') changeDirection = 'down' if event.key == K_UP: print('向上') changeDirection = 'up' # 判断是否按下了esc键 if event.key == K_ESCAPE: pygame.event.post(pygame.event.Event(QUIT)) # 判断蛇的方向 if changeDirection == 'left' and not direction == 'right': direction = changeDirection if changeDirection == 'right' and not direction == 'left': direction = changeDirection if changeDirection == 'down' and not direction == 'up': direction = changeDirection if changeDirection == 'up' and not direction == 'down': direction = changeDirection # 根据方向移动蛇头位置 if direction == 'right': snakePosition[0] += 20 if direction == 'left': snakePosition[0] -= 20 if direction == 'up': snakePosition[1] -= 20 if direction == 'down': snakePosition[1] += 20 # 增加蛇的长度 # 判断蛇是否吃掉了果实 snakebody.insert(0, list(snakePosition)) if snakePosition[0] == targetPosition[0] and snakePosition[1] == targetPosition[1]: targetflag = 0 else: snakebody.pop() # 随机再生成一个新的方块 if targetflag == 0: x = random.randrange(1, 40) # 水平方向 y = random.randrange(1, 30) # 垂直方向 targetPosition = [int(x * 20), int(y * 20)] targetflag = 1 # 绘制显示图 playSurface.fill(self.black) # 背景 for position in snakebody: pygame.draw.rect(playSurface, self.white, Rect(position[0], position[1], 20, 20)) # 蛇的身体 pygame.draw.rect(playSurface, self.red, Rect(targetPosition[0], targetPosition[1], 20, 20)) # 果实 # 游戏结束 pygame.display.flip() if snakePosition[0] > 900 or snakePosition[0] < 0: snake.gameover() elif snakePosition[1] > 800 or snakePosition[1] < 0: snake.gameover() for i in snakebody[1:]: if snakePosition[0] == i[0] and snakePosition[1] == i[1]: snake.gameover() # 控制游戏速度,值越大速度越快 clock.tick(5) snake = Snake() snake.initialize()

四、环境搭建

安装pygame库

pip install pygame -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

安装pyinstaller库

pip install pyinstaller -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

五、矢量图标库

1、https://·/

这个网站可以直接下载? .ico?文件,下载后放在同级目录下,如上:项目架构图

2、iconfont-阿里巴巴矢量图标库

下载png等格式图片后,可以去在线图片转 ico 网站(https://`/covert/),转换一下格式,下载后放在同级目录下,如上:项目架构图

六、程序打包

pyinstaller打包的语法为:

pyinstaller -F -i 图标文件路径 .py文件路径

但是在控制台运行后你可能会遇到:

?此报错为系统未找到pyinstaller程序,回到刚才安装pyinstaller的地方,找到这个目录处,pyinstaller被安装在了此处,在这个目录处可以看到这些包

?

?于是,我的命令行为:pyinstaller -F -i D:\pycharm\Snake\snake-5-32.ico D:\pycharm\Snake\Snake.py 145 INFO: PyInstaller: 5.6.2

?打包完成后,看最下方提示,此提示为exe文件存放位置,如下

?

七、程序运行

?找到路径文件后,exe程序打包完成,发给你的朋友,双击开始属于你们的快乐吧!



1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #Python #贪吃蛇exe #play #游戏