游戏设计思路v1.0
在一个背景上,超级玛丽通过空格键跳跃,越过水管和飞弹
本次开发环境情况
本次系统的软件开发及运行环境具体如下:
操作系统: 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安装,否则,你会看到
syntaxError:invalid syntax——呵呵,这个错误就是这样来的,come on,看下面的解决方案:安装pygame
安装Pygame
1.运行
win键+R 启动运行
2.CMD
输入cmd
,回车键入DOS命令窗口
3.输入命令
输入命令pip install pygame
,键入回车键enter
4.耐心等候
耐心等待2~3分钟,进入安装进度
5.继续耐心等候
安装进度耐心等待
6.安装完成
安装完成
编程开发的过程
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,点击文件,点击新建项目
命名和位置
名称Super Mary v1.0
位置C:\LVcode
点击创建
目录不为空
目录不为空
是因为我们将压缩包解压到了该目录,我们点击从现有的源创建
就可以了
此窗口
点击此窗口
打开项目
打开项目
双击打开Super Mary.py
打开【超级玛丽v1.0】项目
运行项目
点击运行键,或者用 Shift+F10
运行【超级玛丽v1.0】项目
OK,玩游戏咯
游戏现在设计的很简单,就是一个空格键——跳,O(∩_∩)O哈哈~
👨💻博主Python老吕说:如果您觉得本文有帮助,辛苦您🙏帮忙点赞、收藏、评论,您的举手之劳将对我提供了无限的写作动力!🤞
🔥精品付费专栏:(暂时免费,尽快订阅、收藏哦)🔥
《跟老吕学Python编程》
《跟老吕学Python编程·附录资料》
🌐前端:
《跟老吕学HTML》
《XHTML》
《CSS》
《JavaScript》
《Vue》
💻后端:
《跟老吕学C语言》
《C++》
《Java》
《R》
《Ruby》
《PHP》
《Go》
《C#》
《Swift》
《Python》文章来源:https://www.toymoban.com/news/detail-847782.html
💾数据库:
《跟老吕学Oracle语言》
《MYSQL》
《SQL》
《PostgreSQL》
《MongoDB》文章来源地址https://www.toymoban.com/news/detail-847782.html
到了这里,关于【Python游戏开发】超级玛丽v1.0——《跟老吕学Python编程》附录资料的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!