Pygame实现的超级玛丽
这是一款非常非常经典的小游戏——超级玛丽,主要使用pygame实现的,与小时候玩的一模一样,赶紧下载玩玩吧
超级玛丽源码下载:
![]() |
长按左侧二维码 2 秒 回复「玛丽」即可获取源码 (非本号) |
《超级马里奥兄弟》,是任天堂公司开发并于1985年出品的著名横版过关游戏,最早在红白机上推出,有多款后续作品,迄今多个版本合共销量已突破5亿4000万套。
一、运行效果
二、部分示例代码
在开始之前你需要:
掌握 python 的基本语法
熟悉 pygame 模块的基本使用
由于pygame游戏的基本入门在之前一篇博客中有见过这里就不再赘述
1. 画面和角色的导入
创建屏幕、从图片中导入Mario
# 屏幕创建和初始化参数
self.screen = pygame.display.set_mode((WIDTH, HEIGHT))
self.rect = self.screen.get_rect()
pygame.display.set_caption(TITLE)
# 加载关卡图片
self.background = load_image('level.png')
self.back_rect = self.background.get_rect()# 这里载入图片需要乘上特定的系数来适配屏幕的尺寸
self.background = pygame.transform.scale(self.background,(int(self.back_rect.width * BACKGROUND_SIZE),int(self.back_rect.height * BACKGROUND_SIZE))).convert()
# 导入Mario
self.sheet = load_image('mario.png')# 这里由于Mario会有奔跑和跳跃的速度,所以需要导入一整张图片再裁剪使用。
self.load_from_sheet()# 初始化角色的一些基本常量
self.rect = self.image.get_rect()
self.pos = vec(WIDTH * 0.5, GROUND_HEIGHT - 70)
self.vel = vec(0, 0)
self.acc = vec(0, 0)
2. 角色的落地、跳跃和移动
在这之前要解决一下Mario如何才能站在我们定义的地面上
self.acc = vec(0, GRAVITY)
if GROUND_HEIGHT < self.mario.pos.y:# 如果Mario低于我们定义的地面,就之间将他的所有速度加速度都置零,之间放在我们的地面上# 如果速度和加速度不值零,可能会出现Mario卡在地面上抖动的情况,由于y值的不断变化self.mario.acc.y = 0self.mario.vel.y = 0self.mario.pos.y = self.ground_collide.rect.topself.mario.landing = True
。。。直接看看源码吧
python超级玛丽源码下载:
![]() |
长按左侧二维码 2 秒 回复「玛丽」即可获取源码 (非本号) |
Pygame实现的超级玛丽相关推荐
- 用Python写一个超级玛丽游戏
好的,我们来分步写一个超级玛丽游戏. 首先,我们需要准备一些图片作为游戏中的背景和角色.你可以在网上找一些超级玛丽的图片,然后把它们保存在本地电脑上. 其次,我们需要使用 Python 的 pygam ...
- PyGame “超级玛丽”游戏专题开篇——“变态超级玛丽”的诞生
欢迎来到PyGame频道
- Python游戏开发,pygame模块,Python实现超级玛丽100%真实版
今日游戏更新--超级玛丽华丽上线
- 如何用Python实现超级玛丽的人物行走和碰撞检测?
作者 | marble_xu 编辑 | 郭芮 出品 | CSDN博客 在<如何用 Python 实现超级玛丽的界面和状态机?>这篇文章中我们讲解如何用代码实现界面和状态机,本文详解人物行走 ...
- 如何用Python实现超级玛丽的界面和状态机?
作者 | marble_xu 编辑 | 郭芮 来源 | CSDN博客 小时候的经典游戏,代码参考了github上的项目Mario-Level-1(https://github.com/justinme ...
- python简单超级马里奥游戏下载_python 实现超级玛丽游戏
开发需求 python 3.7+ pygame 1.9+ 演示 项目地址 https://github.com/Mr-han11/PythonSuperMario-master 主要功能的代码实现 玩 ...
- 如何用Pygame写游戏(十三)
本文转自:http://eyehere.net/2011/python-pygame-novice-professional-13/ 我们已经学习了游戏的图像和输入编程,接下来是什么?声音?没错,不过 ...
- 如何用 Python 实现超级玛丽的界面和状态机?
作者 | marble_xu 责编 | 郭芮 出品 | CSDN博客 小时候的经典游戏,代码参考了github上的项目Mario-Level-1(https://github.com/justinme ...
- 【pygame学习+实战】第一篇:游戏最小系统
14天学习训练营导师课程: 李宁<Python Pygame游戏开发入门与实战> 李宁<计算机视觉OpenCV Python项目实战>1 李宁<计算机视觉OpenCV P ...
最新文章
- (function() {})();和(function(){}())
- 【软件工程】CMMI 能力成熟度模型集成 ( CMMI 过程管理过程域 | CMMI 项目管理过程域 ) ★
- ajax post forbidden,POST方法总是返回403 Forbidden
- Spotify模式并非“敏捷涅磐”
- bash for循环_Bash 中的 For 循环
- 全栈深度学习第7期: 研究方向这么多,哪些是有有趣又潜力的呢?
- Windows Server 版本信息及支持期 Win10系统各版本服务起止日期。
- java jdbc标签jsp_JDBC结合JSP使用(1)
- 现在新电脑主板带WiFi,实不实用,稳定吗?
- 试用版SQL Server 2008提示评估期已过 解决办法
- javascript电子书下载
- 用JavaScript做一个日历和用canvas做一个时钟
- 【webView】webView和原生Android交互
- RecyclerView(一)最简单的recyclerview
- tomcat配置静态资源访问
- linux环境下登录ORACLE 报ORA-12547: TNS:lost contact错误
- Android 如何访问网络
- 【原创】【歌曲评论】【之二】【白色风车】
- 用计算机播放vcd教案,川教版信息技术七下第11课《CD与VCD播放》word教案1.docx
- 爬虫常用到的企业行业类别
热门文章
- Adobe Reader的护眼模式设置
- 面试官:你是怎么测试接口测试的?
- Springboot毕业设计毕设作品,人脸识别公司考勤系统 开题报告
- 港科喜讯丨香港科大李世玮教授成为首位获电子封装领域最重要荣誉大奖的中国科学家!...
- omapl138 fpga三核高速数据采集处理核心平台方案
- ipad触控笔推荐平价,五大电容笔排行榜
- 测试spring容器
- 15、JavaScript BOM-操作浏览器
- 什么软件可以测试QQ特别关心,手机qq怎么看特别关心我的人?学会这一招就够了...
- 将16:9的横屏PPT转换为4:3普通模式