【Python游戏开发】超级玛丽v1.0——《跟老吕学Python编程》附录资料

这篇具有很好参考价值的文章主要介绍了【Python游戏开发】超级玛丽v1.0——《跟老吕学Python编程》附录资料。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

游戏设计思路v1.0


在一个背景上,超级玛丽通过空格键跳跃,越过水管和飞弹
【Python游戏开发】超级玛丽v1.0——《跟老吕学Python编程》附录资料,《跟老吕学Python编程》附录资料,pygame,Python游戏,Python游戏开发,Python game,Python开发游戏,超级玛丽,Python游戏源代码



本次开发环境情况


本次系统的软件开发及运行环境具体如下:
操作系统: Windows 10(WindowsXP以上系统均可运行)
Python版本:Python 3.12.2(凡是3.0及以上版本均可运行)
开发工具:PyCharm(老吕比较习惯PyCharm和VS开发环境)
第三方模块:Pygame 2.5.2



开发前准备


音乐Audio和图片Image文件夹备用

随便挑了几个音乐、找了张背景图、超级玛丽跑步的动作图、水管图、子弹图(先做这么多吧)



安装Pygame模块


本次开发是依靠Pygame模块运行的,所以首先需要使用pip install命令安装该模块,可以在命令窗口中执行以下命令:

pip install pygame

注意!!!小白遇此文请看以下图片,命令是在DOS安装,而不是在python的IDLE安装,否则,你会看到
【Python游戏开发】超级玛丽v1.0——《跟老吕学Python编程》附录资料,《跟老吕学Python编程》附录资料,pygame,Python游戏,Python游戏开发,Python game,Python开发游戏,超级玛丽,Python游戏源代码
syntaxError:invalid syntax——呵呵,这个错误就是这样来的,come on,看下面的解决方案:安装pygame



安装Pygame


1.运行


win键+R 启动运行
【Python游戏开发】超级玛丽v1.0——《跟老吕学Python编程》附录资料,《跟老吕学Python编程》附录资料,pygame,Python游戏,Python游戏开发,Python game,Python开发游戏,超级玛丽,Python游戏源代码



2.CMD


输入cmd,回车键入DOS命令窗口
【Python游戏开发】超级玛丽v1.0——《跟老吕学Python编程》附录资料,《跟老吕学Python编程》附录资料,pygame,Python游戏,Python游戏开发,Python game,Python开发游戏,超级玛丽,Python游戏源代码
【Python游戏开发】超级玛丽v1.0——《跟老吕学Python编程》附录资料,《跟老吕学Python编程》附录资料,pygame,Python游戏,Python游戏开发,Python game,Python开发游戏,超级玛丽,Python游戏源代码



3.输入命令


输入命令pip install pygame,键入回车键enter
【Python游戏开发】超级玛丽v1.0——《跟老吕学Python编程》附录资料,《跟老吕学Python编程》附录资料,pygame,Python游戏,Python游戏开发,Python game,Python开发游戏,超级玛丽,Python游戏源代码



4.耐心等候


耐心等待2~3分钟,进入安装进度
【Python游戏开发】超级玛丽v1.0——《跟老吕学Python编程》附录资料,《跟老吕学Python编程》附录资料,pygame,Python游戏,Python游戏开发,Python game,Python开发游戏,超级玛丽,Python游戏源代码



5.继续耐心等候


安装进度耐心等待
【Python游戏开发】超级玛丽v1.0——《跟老吕学Python编程》附录资料,《跟老吕学Python编程》附录资料,pygame,Python游戏,Python游戏开发,Python game,Python开发游戏,超级玛丽,Python游戏源代码



6.安装完成


安装完成

【Python游戏开发】超级玛丽v1.0——《跟老吕学Python编程》附录资料,《跟老吕学Python编程》附录资料,pygame,Python游戏,Python游戏开发,Python game,Python开发游戏,超级玛丽,Python游戏源代码



编程开发的过程


1.定义游戏窗口和游戏速度


import pygame  # 将pygame库导入到python程序中
from pygame.locals import *  # 导入pygame中的常量
import sys                   # 导入系统模块
SCREENWIDTH = 800  # 窗口宽度
SCREENHEIGHT = 500  # 窗口高度
FPS = 30  # 更新画面的时间



2.定义游戏背景地图


# 定义一个移动地图类
class MyMap():

    def __init__(self, x, y):
        # 加载背景图片
        self.bg = pygame.image.load("Image/bg.png").convert_alpha()
        self.x = x
        self.y = y

    def map_rolling(self):
        if self.x < -790:  # 小于-790说明地图已经完全移动完毕
            self.x = 800  # 给地图一个新的坐标点
        else:
            self.x -= 5  # 5个像素向左移动

    # 更新地图
    def map_update(self):
        SCREEN.blit(self.bg, (self.x, self.y))



3.定义景音乐和按钮


# 背景音乐按钮
class Music_Button():
    is_open = True   # 背景乐音的标记
    def __init__(self):
        self.open_img = pygame.image.load('Image/btn_open.png').convert_alpha()
        self.close_img = pygame.image.load('Image/btn_close.png').convert_alpha()
        self.bg_music = pygame.mixer.Sound('Audio/bg_music.wav')  # 加载背景音乐
    # 判断鼠标是否在,按钮的范围内
    def is_select(self):
        # 获取鼠标,的坐标
        point_x, point_y = pygame.mouse.get_pos()
        w, h = self.open_img.get_size()             # 获取按钮图片的大小
        # 判断鼠标是否在按钮范围内
        in_x = point_x > 20 and point_x < 20 + w
        in_y = point_y > 20 and point_y < 20 + h
        return in_x and in_y



4.导入迭代工具


from itertools import cycle  # 导入迭代工具



5.定义超级玛丽


# 超级玛丽类
class Marie():
    def __init__(self):
        # 初始化超级玛丽矩形
        self.rect = pygame.Rect(0, 0, 0, 0)
        self.jumpState = False  # 跳跃的状态
        self.jumpHeight = 100  # 跳跃的高度
        self.lowest_y = 410  # 最低坐标
        self.jumpValue = 10  # 跳跃增变量
        # 超级玛丽动图索引
        self.marieIndex = 0
        self.marieIndexGen = cycle([0, 1, 2])
        # 加载超级玛丽图片
        self.adventure_img = (
            pygame.image.load("Image/Mary1.png").convert_alpha(),
            pygame.image.load("Image/Mary2.png").convert_alpha(),
            pygame.image.load("Image/Mary3.png").convert_alpha(),
        )
        self.jump_audio = pygame.mixer.Sound('Audio/jump.wav')  # 跳音效
        self.rect.size = self.adventure_img[0].get_size()
        self.x = 50;  # 绘制超级玛丽的X坐标
        self.y = self.lowest_y;  # 绘制超级玛丽的Y坐标
        self.rect.topleft = (self.x, self.y)

    # 跳状态
    def jump(self):
        self.jumpState = True

    # 超级玛丽移动
    def move(self):
        if self.jumpState:  # 当起跳的时候
            if self.rect.y >= self.lowest_y:  # 如果站在地上
                self.jumpValue = -5  # 以5个像素值向上移动
            if self.rect.y <= self.lowest_y - self.jumpHeight:  # 超级玛丽到达顶部回落
                self.jumpValue = 5  # 以5个像素值向下移动
            self.rect.y += self.jumpValue  # 通过循环改变超级玛丽的Y坐标
            if self.rect.y >= self.lowest_y:  # 如果超级玛丽回到地面
                self.jumpState = False  # 关闭跳跃状态

    # 绘制超级玛丽
    def draw_marie(self):
        # 匹配超级玛丽动图
        marieIndex = next(self.marieIndexGen)
        # 绘制超级玛丽
        SCREEN.blit(self.adventure_img[marieIndex],
                    (self.x, self.rect.y))

import random  # 随机数



6.后续的代码


本文绑定了【超级玛丽v1.0版本】的Python源码,需要的朋友自行下载吧,页面内就不写那么多了。



如何运行Python游戏【超级玛丽v1.0】?


下载+解压


下载本文绑定的资源代码压缩包,解压到指定的目录文件夹
本文解压的位置是C:\LVcode\Super Mary v1.0



新建项目


打开pycharm,点击文件,点击新建项目
【Python游戏开发】超级玛丽v1.0——《跟老吕学Python编程》附录资料,《跟老吕学Python编程》附录资料,pygame,Python游戏,Python游戏开发,Python game,Python开发游戏,超级玛丽,Python游戏源代码



命名和位置


名称Super Mary v1.0
位置C:\LVcode
点击创建
【Python游戏开发】超级玛丽v1.0——《跟老吕学Python编程》附录资料,《跟老吕学Python编程》附录资料,pygame,Python游戏,Python游戏开发,Python game,Python开发游戏,超级玛丽,Python游戏源代码


目录不为空


目录不为空是因为我们将压缩包解压到了该目录,我们点击从现有的源创建就可以了
【Python游戏开发】超级玛丽v1.0——《跟老吕学Python编程》附录资料,《跟老吕学Python编程》附录资料,pygame,Python游戏,Python游戏开发,Python game,Python开发游戏,超级玛丽,Python游戏源代码



此窗口


点击此窗口打开项目
【Python游戏开发】超级玛丽v1.0——《跟老吕学Python编程》附录资料,《跟老吕学Python编程》附录资料,pygame,Python游戏,Python游戏开发,Python game,Python开发游戏,超级玛丽,Python游戏源代码


打开项目


双击打开Super Mary.py打开【超级玛丽v1.0】项目
【Python游戏开发】超级玛丽v1.0——《跟老吕学Python编程》附录资料,《跟老吕学Python编程》附录资料,pygame,Python游戏,Python游戏开发,Python game,Python开发游戏,超级玛丽,Python游戏源代码


运行项目


点击运行键,或者用 Shift+F10运行【超级玛丽v1.0】项目

【Python游戏开发】超级玛丽v1.0——《跟老吕学Python编程》附录资料,《跟老吕学Python编程》附录资料,pygame,Python游戏,Python游戏开发,Python game,Python开发游戏,超级玛丽,Python游戏源代码


OK,玩游戏咯


游戏现在设计的很简单,就是一个空格键——跳,O(∩_∩)O哈哈~
【Python游戏开发】超级玛丽v1.0——《跟老吕学Python编程》附录资料,《跟老吕学Python编程》附录资料,pygame,Python游戏,Python游戏开发,Python game,Python开发游戏,超级玛丽,Python游戏源代码


【Python游戏开发】超级玛丽v1.0——《跟老吕学Python编程》附录资料,《跟老吕学Python编程》附录资料,pygame,Python游戏,Python游戏开发,Python game,Python开发游戏,超级玛丽,Python游戏源代码


【Python游戏开发】超级玛丽v1.0——《跟老吕学Python编程》附录资料,《跟老吕学Python编程》附录资料,pygame,Python游戏,Python游戏开发,Python game,Python开发游戏,超级玛丽,Python游戏源代码


【Python游戏开发】超级玛丽v1.0——《跟老吕学Python编程》附录资料,《跟老吕学Python编程》附录资料,pygame,Python游戏,Python游戏开发,Python game,Python开发游戏,超级玛丽,Python游戏源代码




👨‍💻博主Python老吕说:如果您觉得本文有帮助,辛苦您🙏帮忙点赞、收藏、评论,您的举手之劳将对我提供了无限的写作动力!🤞


🔥精品付费专栏:(暂时免费,尽快订阅、收藏哦)🔥
《跟老吕学Python编程》
《跟老吕学Python编程·附录资料》

🌐前端:
《跟老吕学HTML》
《XHTML》
《CSS》
《JavaScript》
《Vue》

💻后端:
《跟老吕学C语言》
《C++》
《Java》
《R》
《Ruby》
《PHP》
《Go》
《C#》
《Swift》
《Python》

💾数据库:
《跟老吕学Oracle语言》
《MYSQL》
《SQL》
《PostgreSQL》
《MongoDB》文章来源地址https://www.toymoban.com/news/detail-847782.html


到了这里,关于【Python游戏开发】超级玛丽v1.0——《跟老吕学Python编程》附录资料的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【洛谷】P1000 超级玛丽游戏

    题目链接:https://www.luogu.com.cn/problem/P1000 本题是洛谷的试机题目,可以帮助了解洛谷的使用。 建议完成本题目后继续尝试 P1001、P1008。 另外强烈推荐新用户必读贴 超级玛丽是一个非常经典的游戏。请你用字符画的形式输出超级玛丽中的一个场景。 无 如描述 代码:

    2024年02月13日
    浏览(29)
  • Java小游戏练习---超级玛丽代码实现

    B站教学视频: 01_超级玛丽_创建窗口_哔哩哔哩_bilibili 素材提取: 【超级会员V2】我通过百度网盘分享的文件:Java游戏项目… 链接:百度网盘 请输入提取码 提取码:k6j1 复制这段内容打开「百度网盘APP 即可获取」 百度网盘 请输入提取码 百度网盘为您提供文件的网络备份、同

    2024年02月06日
    浏览(42)
  • 在Unity中构建超级玛丽亚游戏

    作者:禅与计算机程序设计艺术 《超级玛丽亚》是一款经典的角色扮演游戏,在任天堂平台上发布了1997年。该游戏由著名的ATARI公司开发。游戏中的主要玩法为控制小队成员前往各地探索并收集物资,将这些物资运送到母舰队所驻扎的据点。母舰队队员可以选择不同职务进行

    2024年02月06日
    浏览(30)
  • 【C语言每日一题】10. 超级玛丽游戏

    题目来源:http://noi.openjudge.cn/ch0101/10/ 总时间限制: 1000ms 内存限制: 65536kB 超级玛丽是一个非常经典的游戏。请你用字符画的形式输出超级玛丽中的一个场景。 无。 如样例所示。

    2024年02月10日
    浏览(25)
  • Java超级玛丽小游戏制作过程讲解 第六天 绘制背景

    我们新建一个BackGround类。 这段代码是一个名为`BackGround`的Java类,用于表示背景图像和场景。它具有以下属性和方法: 1. `bgImage`:表示当前场景要显示的图像的`BufferedImage`对象。 2. `sort`:记录当前是第几个场景的整数值。 3. `flag`:判断是否是最后一个场景的布尔值。 构造方

    2024年02月13日
    浏览(41)
  • Java超级玛丽小游戏制作过程讲解 第五天 创建并完成常量类04

    今天继续完成常量的创建。 这段代码是用于加载游戏中的图片资源。代码使用了Java的ImageIO类来读取图片文件,并将其添加到相应的集合中。 首先,代码创建了一个`obstacle`列表,用于存储障碍物的图片资源。然后,使用try-catch语句块来捕获可能发生的IO异常。 在try块中,通

    2024年02月14日
    浏览(27)
  • Java超级玛丽小游戏制作过程讲解 第三天 创建并完成常量类02

    今天我们继续完成常量类的创建! 定义了一个名为 `obstacle` 的静态变量,它的类型是 `ListBufferedImage` ,即一个存储 `BufferedImage` 对象的列表。 - `obstacle`: 这是一个列表(List)类型的变量,用于存储多个障碍物的图像。列表是一种数据结构,可以容纳多个元素,并且具有动态

    2024年02月14日
    浏览(36)
  • 跟老吕学Python编程——目录(含全教程链接)

    😐 !!! 记得先关注订阅本专栏【跟老吕学Python编程】!!!!!不然后续找不到了哦 !!! 😐 以下是老吕对本教程的目录内容梳理↓↓↓↓↓↓↓↓↓ 第一次编稿注释: 本教程以下内容不是定稿,会不断修改更新; 第二次编稿注释: 本教程每个章节都是暂定的,后

    2024年02月20日
    浏览(25)
  • 基于Python开发的玛丽大冒险小游戏(源码+可执行程序exe文件+程序配置说明书+程序使用说明书)

    本项目是一套基于Python开发的玛丽冒险小游戏程序,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Python学习者。 包含:项目源码、项目文档等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,确保可以运行! 本系统的软件开发及运行环境

    2024年02月09日
    浏览(34)
  • Python版基于pygame的玛丽快跑小游戏源代码,玛丽冒险小游戏代码,支持双人模式

    基于pygame的玛丽快跑小游戏源代码,玛丽冒险小游戏代码,支持双人模式 按空格进入单人模式,按‘t’进入双人模式,双人模式下玛丽1采用空格键上跳,玛丽2采用方向上键上跳。 完整代码下载地址:Python版基于pygame的玛丽快跑小游戏源代码 完整代码下载地址:Python版基于

    2024年02月11日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包