python玛丽冒险超级游戏程序源码

简介: python玛丽冒险超级游戏程序源码

在PyCharm中运行《玛丽冒险》即可进入如图1所示的游戏主界面。


bc6d0f50febb13b28816672816914db.png

具体的操作步骤如下:

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

2af27f2cad3e8172dd5226e0145d567.png


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

8f3edf958dac9c8eb6d911e9435be3d.png


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

eb18a18c5e77871fa9f867832a859b5.png


游戏结束后,再次按下空格键将重新启动游戏。

(4)如果不需要播放游戏的背景音乐时,可以单击左上角的音乐按钮,背景音乐播放时,控制按钮的运行效果如图5所示。背景音乐停止时,控制按钮的运行效果如图6所示。d98b6fbfab04f5bcebf1bb6292fc0ca.png




部分源码如下,其余完整详见下载。


import random  # 随机数
# 障碍物类
class Obstacle():
    score = 1  # 分数
    move = 5   # 移动距离
    obstacle_y = 150  # 障碍物y坐标
    def __init__(self):
        # 初始化障碍物矩形
        self.rect = pygame.Rect(0, 0, 0, 0)
        # 加载障碍物图片
        self.missile = pygame.image.load("image/missile.png").convert_alpha()
        self.pipe = pygame.image.load("image/pipe.png").convert_alpha()
        # 加载分数图片
        self.numbers = (pygame.image.load('image/0.png').convert_alpha(),
                        pygame.image.load('image/1.png').convert_alpha(),
                        pygame.image.load('image/2.png').convert_alpha(),
                        pygame.image.load('image/3.png').convert_alpha(),
                        pygame.image.load('image/4.png').convert_alpha(),
                        pygame.image.load('image/5.png').convert_alpha(),
                        pygame.image.load('image/6.png').convert_alpha(),
                        pygame.image.load('image/7.png').convert_alpha(),
                        pygame.image.load('image/8.png').convert_alpha(),
                        pygame.image.load('image/9.png').convert_alpha())
        # 加载加分音效
        self.score_audio = pygame.mixer.Sound('audio/score.wav')  # 加分
        # 0和1随机数
        r = random.randint(0, 1)
        if r == 0:  # 如果随机数为0显示导弹障碍物相反显示管道
            self.image = self.missile   # 显示导弹障碍
            self.move = 15              # 移动速度加快
            self.obstacle_y = 100       # 导弹坐标在天上
        else:
            self.image = self.pipe      # 显示管道障碍
        # 根据障碍物位图的宽高来设置矩形
        self.rect.size = self.image.get_size()
        # 获取位图宽高
        self.width, self.height = self.rect.size
        # 障碍物绘制坐标
        self.x = 800
        self.y = self.obstacle_y
        self.rect.center = (self.x, self.y)
    # 障碍物移动
    def obstacle_move(self):
        self.rect.x -= self.move
    # 绘制障碍物
    def draw_obstacle(self):
        SCREEN.blit(self.image, (self.rect.x, self.rect.y))
    # 获取分数
    def getScore(self):
        self.score
        tmp = self.score;
        if tmp == 1:
            self.score_audio.play()  # 播放加分音乐
        self.score = 0;
        return tmp;
    # 显示分数
    def showScore(self, score):
        # 获取得分数字
        self.scoreDigits = [int(x) for x in list(str(score))]
        totalWidth = 0  # 要显示的所有数字的总宽度
        for digit in self.scoreDigits:
            # 获取积分图片的宽度
            totalWidth += self.numbers[digit].get_width()
        # 分数横向位置
        Xoffset = (SCREENWIDTH - (totalWidth+30))
        for digit in self.scoreDigits:
            # 绘制分数
            SCREEN.blit(self.numbers[digit], (Xoffset, SCREENHEIGHT * 0.1))
            # 随着数字增加改变位置
            Xoffset += self.numbers[digit].get_width()


是任天堂出品的著名横版过关游戏,该作最早在红白机上推出,有多款后续作品,其中的主角马里奥、路易、碧奇公主、奇诺比奥等已成为任天堂的招牌人物[1]。在游戏中,玩家控制马里奥从库巴手上设法营救碧奇公主。马里奥的弟弟路易只能在游戏的多人模式中作为第二玩家加入,其角色情节与马里奥完全相同。马里奥是靠吃蘑菇成长,闻名世界的超级巨星。特征是大鼻子、头戴帽子、身穿背带工作服、还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。帽子加背带工作服、大鼻子和胡子等特征,离英雄的形象相差甚远。再加上少许肥胖的身材,稍不留神可能就会把我们的英雄马里奥当成在便利店打工的中年大叔。但是形象上所带来的个性和亲切感,却在玩家的心中根深蒂固。马里奥的诞生之父宫本茂的设计理念就是“像记号一般让人一目了然的外貌,容易表现动作的配色”。当时限于硬件的机能,无法表现精密的画面。为了清楚表现人物的动作,就把马里奥的服装设计成了背带工作服,这样可以很好地表现出手臂的动作。关于脸部的设计,当时的考虑是,就算设计得很仔细,在电视上也无法表现出来。有特点、容易辨认,才是设计的重点。所以就有了大鼻子、留胡子、戴帽子的设计。


相关文章
|
3月前
|
人工智能 Linux 开发工具
Python从零到一:手把手带你写出第一个实用程序
Python语法简洁易懂,适合编程新手入门。它广泛应用于人工智能、自动化办公、Web开发等领域。学习Python可快速搭建项目,拥有丰富库支持和强大社区资源。通过本教程,你将掌握基础语法、环境搭建、程序逻辑控制及实战项目开发,开启编程之旅。
292 0
|
2月前
|
人工智能 数据安全/隐私保护 异构计算
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
297 8
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
|
2月前
|
机器学习/深度学习 数据采集 算法
基于mediapipe深度学习的运动人体姿态提取系统python源码
本内容介绍了基于Mediapipe的人体姿态提取算法。包含算法运行效果图、软件版本说明、核心代码及详细理论解析。Mediapipe通过预训练模型检测人体关键点,并利用部分亲和场(PAFs)构建姿态骨架,具有模块化架构,支持高效灵活的数据处理流程。
|
2月前
|
设计模式 决策智能 Python
Python条件控制:让程序学会"思考"的魔法
本文深入浅出地讲解Python条件控制,从基础if语句到多分支、嵌套结构,再到简洁的三元表达式与Python 3.10新增的match-case模式匹配,结合电商折扣、会员等级、ATM系统等实战案例,全面掌握程序“智能决策”的核心逻辑。
275 0
|
2月前
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
4月前
|
算法 数据可视化 数据挖掘
基于EM期望最大化算法的GMM参数估计与三维数据分类系统python源码
本内容展示了基于EM算法的高斯混合模型(GMM)聚类实现,包含完整Python代码、运行效果图及理论解析。程序使用三维数据进行演示,涵盖误差计算、模型参数更新、结果可视化等关键步骤,并附有详细注释与操作视频,适合学习EM算法与GMM模型的原理及应用。
|
4月前
|
API 数据安全/隐私保护 开发者
企业微信自动加好友软件,导入手机号批量添加微信好友,python版本源码分享
代码展示了企业微信官方API的合规使用方式,包括获取access_token、查询部门列表和创建用户等功能
|
3月前
|
并行计算 算法 Java
Python3解释器深度解析与实战教程:从源码到性能优化的全路径探索
Python解释器不止CPython,还包括PyPy、MicroPython、GraalVM等,各具特色,适用于不同场景。本文深入解析Python解释器的工作原理、内存管理机制、GIL限制及其优化策略,并介绍性能调优工具链及未来发展方向,助力开发者提升Python应用性能。
196 0

热门文章

最新文章

推荐镜像

更多