基于Python开发的玛丽大冒险小游戏(源码+可执行程序exe文件+程序配置说明书+程序使用说明书)
一、项目简介
本项目是一套基于Python开发的玛丽冒险小游戏程序,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Python学习者。
包含:项目源码、项目文档等,该项目附带全部源码可作为毕设使用。
项目都经过严格调试,确保可以运行!
二、开发环境要求
本系统的软件开发及运行环境具体如下。
操作系统:Windows 7、Windows 8、Windows 10。
Python版本:Python 3.7.0。
开发工具:PyCharm。
Python内置模块:itertools、random。
第三方模块:pygame。
三、系统功能
具体的操作步骤如下:
(1)游戏主窗体界面显示后,游戏的背景地图将自动加载与移动,此时会随机出现管道、导弹障碍物。当遇到障碍物时按下键盘中的空格按键,玛丽将实现跳跃
(2)每当越过一次障碍时,右上角的积分将自动增加1分。
(3)如果玛丽在移动的过程中不小心撞到了障碍物,此时游戏主界面的中间位置将显示“Game Over”游戏结束的文字,游戏结束后,再次按下空格键将重新启动游戏。
(4)如果不需要播放游戏的背景音乐时,可以单击左上角的音乐按钮,进行关闭或者打开音乐
四、功能描述
在PyCharm中运行《玛丽冒险》即可进入如图所示的游戏主界面。

具体的操作步骤如下:
(1)游戏主窗体界面显示后,游戏的背景地图将自动加载与移动,此时会随机出现管道、导弹障碍物。当遇到障碍物时按下键盘中的空格按键,玛丽将实现跳跃,如图所示。

(2)每当越过一次障碍时,右上角的积分将自动增加1分。如图所示。

(3)如果玛丽在移动的过程中不小心撞到了障碍物,此时游戏主界面的中间位置将显示“Game Over”游戏结束的文字。如图所示。

游戏结束后,再次按下空格键将重新启动游戏。
(4)如果不需要播放游戏的背景音乐时,可以单击左上角的音乐按钮,背景音乐播放时,控制按钮的运行效果如图所示。背景音乐停止时,控制按钮的运行效果如图所示。


五、源码地址
https://download.csdn.net/download/weixin_43860634/88309358
相关文章:
基于Python开发的玛丽大冒险小游戏(源码+可执行程序exe文件+程序配置说明书+程序使用说明书)
一、项目简介 本项目是一套基于Python开发的玛丽冒险小游戏程序,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Python学习者。 包含:项目源码、项目文档等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试…...
K8S之使用yaml格式定义pod
mysql-pod.yaml # overView: # 1. web服务与db打包放在同一个pod中,本地通过localhost来访问,并附带存活性/可用性检测 # 2. 补充重启策略/镜像拉去策略 # 3. 对容器资源进行限制apiVersion: apps/v1 kind: Pod metadata:name: pub-oanamespace: hunte…...
SSH命令详解
本文转载于:https://blog.csdn.net/m0_60873746/article/details/130843325 SSH命令详解 SSH(Secure Shell)是一种用于安全登录远程计算机的网络协议。通过 SSH,可以在不受干扰的情况下,传输服务器操作系统和网络管理…...
Windows SQLYog连接不上VMbox Ubuntu2204 的Mysql解决方法
Windows SQLYog连接不上VMbox Ubuntu2204 的Mysql解决方法 解决方法: 1、先检查以下mysql的端口状态 netstat -anp|grep mysql如果显示127.0.0.1:3306 则说明需要修改,若为: : :3306,则不用。 在**/etc/mysql/mysql.conf.d/mysqld.cnf**&am…...
Python中的日期和时间(一)datetime模块
Python处理时间的对象很多,常用的有time、datetime和calendar等。本文对常用的时间对象的使用进行学习。在开始学习具体的对象前,先学习几个计算机的时间概念。 UTC(全球标准时间):是全球范围内计时的科学标准,它基于…...
qt触控板手势检测
主要检测双指上下滚动、左右滚动、双指放大、缩小。 内容解释看注释,代码在mac上经过测试无问题,windows未测试。 bool WBScreenShotDialog::event(QEvent *event) {if (event->type() QEvent::Wheel) { // 双指滚动QWheelEvent *wheel static_…...
数据库 Redis
todo QARedis里面的有序结合用什么数据结构实现? QA Redis里面的有序结合用什么数据结构实现?...
Linux之权限
目录 一、shell运行原理 二、权限 1、对人操作 2、对角色和文件操作 修改权限(改属性): ①ugo- ②二进制数的表示 修改权限(改人): 三、权限的相关问题 1、目录的权限 2、umask 3、粘滞位 一、s…...
【产线故障】线上接口请求过慢如何排查?
文章目录 前言一、内存使用过高导致CPU满载案例代码分析思路 二、出现了类似死循环导致cpu负载案例代码分析思路 三、死锁案例代码分析思路 前言 首先线上接口变慢,原因可能有很多,有可能是网络,有可能是慢 SQL,有可能是服务本身…...
Increment Selection 插件
Increment Selection 插件实现递增 初次使用 按下快捷键 Alt Shift 鼠标左键向下拖拽 向下拖拽之后,在输入一个数字,比如我这里输入了一个数字1 然后按下快捷键 Ctrl Shift ← 进行选中数字 然后按下快捷键 Ctrl Alt i 建自动递增。 然后鼠标随…...
LeetCode刷题笔记【26】:贪心算法专题-4(柠檬水找零、根据身高重建队列、用最少数量的箭引爆气球)
文章目录 前置知识860.柠檬水找零题目描述解题思路代码 406.根据身高重建队列题目描述解题思路代码 452. 用最少数量的箭引爆气球题目描述踩坑-进行模拟正确思路的贪心 总结 前置知识 参考前文 参考文章: LeetCode刷题笔记【23】:贪心算法专题-1&#x…...
LeetCode:移除元素
题目 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度…...
Spring中的JdbcTemplate的使用
在最近的一个工作中,为了简单方便我就是用了Spring自带的JdbcTemplate来访问数据库,我以为之前自己很熟练的掌握,后来才发现我太天真了,踩了很多坑。 基本方法 JdbcTemplate自带很多方法可以执行SQL语句,以下我主要列举…...
机器学习——boosting之GBDT
现在要开始重点关注名字了,名字透漏了很多信息!名字暗藏线索! GBDT,Gradient Boosting Decision Tree: 梯度提升决策树 果然信息很丰富 梯度:意味着计算有迭代递进关系,但还不明确是怎么迭代递进的 提升&…...
如何选择报修管理系统?报修工单管理系统有哪些功能和优势?
报修管理系统是一种能够帮助企业快速反应设备故障和异常情况,并将问题及时通知到相关人员,并对问题进行统计和分析的系统。它能够有效提高企业的工作效率,并减少人员成本的支出。那么,报修工单管理系统有哪些功能和优势呢?下面以“…...
Matlab图像处理-
有些时候,直接利用图像的灰度直方图选择阈值不是非常直观,这时,可以利用图像三个通道的直方图来进行图像分割,操作步骤如上文所示,下图为原始图片。 下图为三通道直方图。 下图将三个通道的直方图会绘制到一个图表上&a…...
数据接口工程对接BI可视化大屏(二)创建BI空间
第2章 创建BI空间 2.1 SugarBI介绍 网站地址:https://cloud.baidu.com/product/sugar.html SugarBI是百度推出的自助BI报表分析和制作可视化数据大屏的强大工具。 基于百度Echarts提供丰富的图表组件,开箱即用、零代码操作、无需SQL,5分钟即可完成数…...
Struts.xml 配置文件说明
<?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <!--…...
阿里巴巴API接口解析,实现获得商品详情
要解析阿里巴巴API接口并实现获取商品详情,你需要按照以下步骤进行操作: 了解阿里巴巴开放平台:访问阿里巴巴开放平台,并了解相关的API文档、开发者指南和规定。注册开发者账号:在阿里巴巴开放平台上注册一个开发者账…...
9.(Python数模)(分类模型一)K-means聚类
Python实现K-means聚类 K-means原理 K-means均值聚类算法作为最经典也是最基础的无标签分类学习算法。其实质就是根据两个数据点的距离去判断他们是否属于一类,对于一群点,就是类似用几个圆去框定这些点(簇),然后圆心…...
调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent
安全大模型训练计划:基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标:为安全大模型创建高质量、去偏、符合伦理的训练数据集,涵盖安全相关任务(如有害内容检测、隐私保护、道德推理等)。 1.1 数据收集 描…...
TCP/IP 网络编程 | 服务端 客户端的封装
设计模式 文章目录 设计模式一、socket.h 接口(interface)二、socket.cpp 实现(implementation)三、server.cpp 使用封装(main 函数)四、client.cpp 使用封装(main 函数)五、退出方法…...
数据库正常,但后端收不到数据原因及解决
从代码和日志来看,后端SQL查询确实返回了数据,但最终user对象却为null。这表明查询结果没有正确映射到User对象上。 在前后端分离,并且ai辅助开发的时候,很容易出现前后端变量名不一致情况,还不报错,只是单…...
计算机系统结构复习-名词解释2
1.定向:在某条指令产生计算结果之前,其他指令并不真正立即需要该计算结果,如果能够将该计算结果从其产生的地方直接送到其他指令中需要它的地方,那么就可以避免停顿。 2.多级存储层次:由若干个采用不同实现技术的存储…...
