- 🔔 B站主页:https://space.bilibili.com/1707990930
- 📣 欢迎🎉点赞👍收藏🌟评论📝如有错误请指正!
- 💻 Python&Java领域博主
- 😁 你们的支持是我最大的动力
大家好,我是爱丽
这个Python中的马里奥游戏代码是用PyGame库设计的图形用户界面(GUI)。
谈到游戏的玩法,这是一个单人游戏,玩家(马里奥)必须躲避从龙身上发出的火球。
每一关都有更多的困难,一旦关卡增加,区域就会变得越来越小。在这个超级马里奥Python教程中,你可以学习如何用Python制作超级马里奥游戏。
文章目录
要开始用Python创建一个马里奥游戏,请确保你的电脑中安装了PyCharm IDE。
顺便说一下,如果你是Python编程的新手,你不知道什么是可以使用的Python IDE,我这里有一个适合你的零基础入门到精通的教程。可以添加CSDN官方微信免费获取:
🕹 Python 中的马里奥游戏:项目信息
项目名: | 超级马里奥 |
---|---|
使用的语言: | 基于 Python (GUI) |
Python 版本(推荐): | 3.x |
开发工具: | PyCharm |
数据库: | 没有 |
版本: | 0.1x |
🕹 第一步:项目搭建
Step 1、新建一个项目
首先打开Pycharm IDE,然后创建一个 “项目名称”,创建好项目名称后点击 "创建 "按钮。
Step 2、创建一个 python 文件
创建项目名称后,“右键单击”您的项目名称,然后单击“新建”,然后单击“ python 文件”。
Step 3、命名你的 Python 文件
第三次创建python文件后,在点击“输入”之后命名你的python文件。
Step 4、实际代码。
你可以自由复制下面给出的代码并下载下面的完整源代码。
🕹 导入模块
import pygame
import sys
给出的代码正在导入所有模块。
🕹 开始游戏的代码部分
def start_game():
canvas.fill(BLACK)
start_img = pygame.image.load('start.png')
start_img_rect = start_img.get_rect()
start_img_rect.center = (WINDOW_WIDTH/2, WINDOW_HEIGHT/2)
canvas.blit(start_img, start_img_rect)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
pygame.quit()
sys.exit()
game_loop()
pygame.display.update()
在这个模块中,这是超级马里奥的开始游戏部分。
输出:
🕹 游戏级别
def check_level(SCORE):
global LEVEL
if SCORE in range(0, 10):
cactus_img_rect.bottom = 50
fire_img_rect.top = WINDOW_HEIGHT - 50
LEVEL = 1
elif SCORE in range(10, 20):
cactus_img_rect.bottom = 100
fire_img_rect.top = WINDOW_HEIGHT - 100
LEVEL = 2
elif SCORE in range(20, 30):
cactus_img_rect.bottom = 150
fire_img_rect.top = WINDOW_HEIGHT - 150
LEVEL = 3
elif SCORE > 30:
cactus_img_rect.bottom = 200
fire_img_rect.top = WINDOW_HEIGHT - 200
LEVEL = 4
如果你通过给定级别的挑战,则在此模块中这是游戏的级别。
🕹 主要模块
def game_loop():
while True:
global dragon
dragon = Dragon()
flames = Flames()
mario = Mario()
add_new_flame_counter = 0
global SCORE
SCORE = 0
global HIGH_SCORE
flames_list = []
pygame.mixer.music.load('mario_theme.wav')
pygame.mixer.music.play(-1, 0.0)
while True:
canvas.fill(BLACK)
check_level(SCORE)
dragon.update()
add_new_flame_counter += 1
if add_new_flame