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

软件价值2-贪吃蛇游戏

贪吃蛇游戏虽然很多,不过它可以作为软件创作的开端,用python来实现,然后dist成windows系统可执行文件。

import pygame
import sys
import random# 初始化
pygame.init()# 游戏设置
width, height = 640, 480
cell_size = 20
snake_speed = 15# 颜色定义
black = (0, 0, 0)
white = (255, 255, 255)
red = (255, 0, 0)# 创建窗口
window = pygame.display.set_mode((width, height))
pygame.display.set_caption("贪吃蛇游戏")# 初始化蛇
snake = [(100, 100), (90, 100), (80, 100)]
snake_direction = (cell_size, 0)# 初始化食物
food = (random.randint(0, width - cell_size) // cell_size * cell_size,random.randint(0, height - cell_size) // cell_size * cell_size)# 游戏循环
clock = pygame.time.Clock()while True:for event in pygame.event.get():if event.type == pygame.QUIT:pygame.quit()sys.exit()elif event.type == pygame.KEYDOWN:if event.key == pygame.K_UP and snake_direction != (0, cell_size):snake_direction = (0, -cell_size)elif event.key == pygame.K_DOWN and snake_direction != (0, -cell_size):snake_direction = (0, cell_size)elif event.key == pygame.K_LEFT and snake_direction != (cell_size, 0):snake_direction = (-cell_size, 0)elif event.key == pygame.K_RIGHT and snake_direction != (-cell_size, 0):snake_direction = (cell_size, 0)# 移动蛇head = (snake[0][0] + snake_direction[0], snake[0][1] + snake_direction[1])# 边界碰撞检测if head[0] < 0:head = (width - cell_size, head[1])elif head[0] >= width:head = (0, head[1])elif head[1] < 0:head = (head[0], height - cell_size)elif head[1] >= height:head = (head[0], 0)snake = [head] + snake[:-1]# 判断是否吃到食物if head == food:snake.append(snake[-1])food = (random.randint(0, width - cell_size) // cell_size * cell_size,random.randint(0, height - cell_size) // cell_size * cell_size)# 判断是否游戏结束if head in snake[1:]:pygame.quit()sys.exit()# 绘制窗口window.fill(black)# 绘制蛇for segment in snake:pygame.draw.rect(window, white, pygame.Rect(segment[0], segment[1], cell_size, cell_size))# 绘制食物pygame.draw.rect(window, red, pygame.Rect(food[0], food[1], cell_size, cell_size))# 更新显示pygame.display.flip()# 控制帧率clock.tick(snake_speed)

发布: 

用PyInstaller可以将 Python 脚本打包成 Windows、Linux 和 macOS 上的可执行文件。你可以使用以下命令安装 PyInstaller:

pip install pyinstaller

然后,可以使用以下命令将你的游戏脚本打包成一个可执行文件:

pyinstaller --onefile greedySnake.py

这将在 dist 文件夹中生成一个单一的可执行文件。

运行:

贪吃蛇游戏

http://www.lryc.cn/news/291685.html

相关文章:

  • 应用案例 | 基于三维机器视觉的汽车副车架在线测量解决方案
  • 线程的创建和使用threading.Thread()
  • 大数据学习之Redis,十大数据类型的具体应用(四)
  • 哪个牌子的头戴式耳机好?推荐性价比高的头戴式耳机品牌
  • Java EE 5 SDK架构
  • nop-entropy可逆计算入门(1)
  • C++(9) 虚函数
  • uniapp 使用canvas 画海报,有手粘贴即可用(拆成组件了,看后面)
  • Amazon Bedrock 的微调和持续预训练功能允许用户使用私有数据定制模型
  • Pyecharts绘制多种炫酷气泡图
  • C# 多线程(2)——线程同步
  • Java设计模式【工厂模式】
  • AI智能分析+明厨亮灶智慧管理平台助力“舌尖上的安全”
  • 【现代密码学基础】详解完美安全与香农定理
  • Python 将文本转换成语音播放 pyttsx3
  • FPGA高端项目:Xilinx Artix7系列FPGA 多路视频缩放拼接 工程解决方案 提供4套工程源码+技术支持
  • 开源模型应用落地-业务优化篇(三)
  • 基于SpringBoot+Vue实现的物流快递仓库管理系统
  • 编程笔记 html5cssjs 072 JavaScrip BigInt数据类型
  • matlab simulink 步进电机控制
  • 使用阿里云的IDaaS实现知行之桥EDI系统的单点登录
  • 基于微服务的高考志愿智能辅助决策系统(附源码)
  • LeetCode —— 137. 只出现一次的数字 II
  • pnpm、npm、yarn 包管理工具
  • 微服务知识
  • 如何在微信搭建私域流量池?
  • MySQL原理(三)锁定机制(1)综述
  • Qt知识点总结
  • 什么是系统工程(字幕)13
  • qt学习:Table widget控件