上次文章:

python-pyglet游戏之minecraft远古版

上次我为大家带来了python我的世界,可是更难的是什么呢?

对,就是写了几个月的超级玛丽!

大家可以尝试自己写一写。

提示:

我这个中包含了音乐哦~

我这里只会放几个程序,要全部的话在最后去百度网盘中的超级玛丽.zip下载。


目录

一、constants.py

二、main.py

三、mario_level_1.py


一、constants.py

__author__ = 'Python代码狂人'SCREEN_HEIGHT = 600
SCREEN_WIDTH = 800SCREEN_SIZE = (SCREEN_WIDTH,SCREEN_HEIGHT)ORIGINAL_CAPTION = "Super Mario Bros 1-1"## COLORS ###            R    G    B
GRAY         = (100, 100, 100)
NAVYBLUE     = ( 60,  60, 100)
WHITE        = (255, 255, 255)
RED          = (255,   0,   0)
GREEN        = (  0, 255,   0)
FOREST_GREEN = ( 31, 162,  35)
BLUE         = (  0,   0, 255)
SKY_BLUE     = ( 39, 145, 251)
YELLOW       = (255, 255,   0)
ORANGE       = (255, 128,   0)
PURPLE       = (255,   0, 255)
CYAN         = (  0, 255, 255)
BLACK        = (  0,   0,   0)
NEAR_BLACK    = ( 19,  15,  48)
COMBLUE      = (233, 232, 255)
GOLD         = (255, 215,   0)BGCOLOR = WHITESIZE_MULTIPLIER = 2.5
BRICK_SIZE_MULTIPLIER = 2.69
BACKGROUND_MULTIPLER = 2.679
GROUND_HEIGHT = SCREEN_HEIGHT - 62#MARIO FORCES
WALK_ACCEL = .15
RUN_ACCEL = 20
SMALL_TURNAROUND = .35GRAVITY = 1.01
JUMP_GRAVITY = .31
JUMP_VEL = -11
FAST_JUMP_VEL = -12.5
MAX_Y_VEL = 11MAX_RUN_SPEED = 800
MAX_WALK_SPEED = 6#Mario StatesSTAND = 'standing'
WALK = 'walk'
JUMP = 'jump'
FALL = 'fall'
SMALL_TO_BIG = 'small to big'
BIG_TO_FIRE = 'big to fire'
BIG_TO_SMALL = 'big to small'
FLAGPOLE = 'flag pole'
WALKING_TO_CASTLE = 'walking to castle'
END_OF_LEVEL_FALL = 'end of level fall'#GOOMBA StuffLEFT = 'left'
RIGHT = 'right'
JUMPED_ON = 'jumped on'
DEATH_JUMP = 'death jump'#KOOPA STUFFSHELL_SLIDE = 'shell slide'#BRICK STATESRESTING = 'resting'
BUMPED = 'bumped'#COIN STATES
OPENED = 'opened'#MUSHROOM STATESREVEAL = 'reveal'
SLIDE = 'slide'#COIN STATESSPIN = 'spin'#STAR STATESBOUNCE = 'bounce'#FIRE STATESFLYING = 'flying'
BOUNCING = 'bouncing'
EXPLODING = 'exploding'#Brick and coin box contentsMUSHROOM = 'mushroom'
STAR = 'star'
FIREFLOWER = 'fireflower'
SIXCOINS = '6coins'
COIN = 'coin'
LIFE_MUSHROOM = '1up_mushroom'FIREBALL = 'fireball'#LIST of ENEMIESGOOMBA = 'goomba'
KOOPA = 'koopa'#LEVEL STATESFROZEN = 'frozen'
NOT_FROZEN = 'not frozen'
IN_CASTLE = 'in castle'
FLAG_AND_FIREWORKS = 'flag and fireworks'#FLAG STATE
TOP_OF_POLE = 'top of pole'
SLIDE_DOWN = 'slide down'
BOTTOM_OF_POLE = 'bottom of pole'#1UP score
ONEUP = '379'#MAIN MENU CURSOR STATES
PLAYER1 = '1 player'
PLAYER2 = '2 player'#OVERHEAD INFO STATES
MAIN_MENU = 'main menu'
LOAD_SCREEN = 'loading screen'
LEVEL = 'level'
GAME_OVER = 'game over'
FAST_COUNT_DOWN = 'fast count down'
END_OF_LEVEL = 'end of level'#GAME INFO DICTIONARY KEYS
COIN_TOTAL = 'coin total'
SCORE = 'score'
TOP_SCORE = 'top score'
LIVES = 'lives'
CURRENT_TIME = 'current time'
LEVEL_STATE = 'level state'
CAMERA_START_X = 'camera start x'
MARIO_DEAD = 'mario dead'#STATES FOR ENTIRE GAME
MAIN_MENU = 'main menu'
LOAD_SCREEN = 'load screen'
TIME_OUT = 'time out'
GAME_OVER = 'game over'
LEVEL1 = 'level1'#SOUND STATEZ
NORMAL = 'normal'
STAGE_CLEAR = 'stage clear'
WORLD_CLEAR = 'world clear'
TIME_WARNING = 'time warning'
SPED_UP_NORMAL = 'sped up normal'
MARIO_INVINCIBLE = 'mario invincible'

二、main.py

__author__ = 'Python代码狂人'from . import setup,tools
from .states import main_menu,load_screen,level1
from . import constants as cdef main():"""Add states to control here."""run_it = tools.Control(setup.ORIGINAL_CAPTION)state_dict = {c.MAIN_MENU: main_menu.Menu(),c.LOAD_SCREEN: load_screen.LoadScreen(),c.TIME_OUT: load_screen.TimeOut(),c.GAME_OVER: load_screen.GameOver(),c.LEVEL1: level1.Level1()}run_it.setup_states(state_dict, c.MAIN_MENU)run_it.main()

三、mario_level_1.py


#!/usr/bin/env python
__author__ = 'Python代码狂人'"""
This is an attempt to recreate the first level of
Super Mario Bros for the NES.
"""import sys
import pygame as pg
from data.main import main
import cProfileif __name__=='__main__':main()pg.quit()sys.exit()

在这里感谢python代码大全这位博主。谢谢他给我了文件,我在文件中修改了一些程序。

下载地址:

下载地址:百度网盘

打开游戏方法:打开mario_level_1.py就可以了!

更多程序请敬请期待!


给每个人的信:

各位亲爱的读者、支持者、博主们:

我再次感谢各位支持我,每次都会看我的文章。虽然我粉丝,观看量不多,但我一直希望可以在csdn上面成为一个有名气的人。python代码大全这个博主:我十分感谢你,我一直以来都想要一个超级玛丽程序,现在有了我十分高兴。如果你们有什么建议或者程序的话可以和我分享。谢谢大家的支持与理解!希望大家不要因为我年纪小就小看我。

我会多多写文章,传资源。我每天坚持学习,编程。我还要复习TOEFL词语和知识,学习语数英、美术、音乐。每次我写文章不是为了炫耀自己小小年纪会写出这么多好的游戏。这归功于我的努力学习。我每次遇到困难,都会到csdn上找答案,我十分感谢csdn上的所有博主,感谢你们给了我这么多帮助!

通过我的学习,现在的我已经会很多python语法了,也有了自己的粉丝和崇拜的博主。各位读者、支持者、博主,你们的经历是怎么样的呢?我希望和你们一样,成为一个很厉害的人,在csdn这个网站上成为最有名,最幽默,年纪最小的博主!

涵子码农-python忠实迷

2022年6月10日

最后感谢:

programmer_ada博主,c343340657c博主,梦执.py,python代码大全博主、公众号,涛哥依旧博主,一行玩python博主,Juni Zhu博主......

各位读者、支持者。

大家加油!

python-pygame怀旧游戏之超级玛丽相关推荐

  1. python编程小游戏代码-Python小游戏之300行代码实现俄罗斯方块

    前言 本文代码基于 python3.6 和 pygame1.9.4. 俄罗斯方块是儿时最经典的游戏之一,刚开始接触 pygame 的时候就想写一个俄罗斯方块.但是想到旋转,停靠,消除等操作,感觉好像很 ...

  2. python小游戏源码-Python小游戏之300行代码实现俄罗斯方块

    Python小游戏之300行代码实现俄罗斯方块 来源:中文源码网 浏览: 次 日期:2019年11月5日 [下载文档: Python小游戏之300行代码实现俄罗斯方块.txt ] (友情提示:右键点上 ...

  3. Python 小把戏之下载小说

    Python 小把戏之下载小说 #! /usr/bin/python3 # -*- coding: utf-8 -*- from bs4 import BeautifulSoup import sys ...

  4. Python 小把戏之图片转字符串

    Python 小把戏之图片转字符串 #! /usr/bin/python3 # -*- coding: UTF-8 -*-from PIL import Image import argparse i ...

  5. python小游戏之二

    20行python代码的入门级小游戏 20行python代码的入门级小游戏_linmo8256的博客-CSDN博客_py游戏代码 猜数字小游戏python实现(可用来撩妹撩汉) 猜数字小游戏pytho ...

  6. Python pygame 坦克大战

    Python pygame 坦克大战 import pygame, time, random from pygame.sprite import SpriteSCREEN_WIDTH = 750 SC ...

  7. PYTHON pygame库实战——实现双人弹球小游戏

    PYTHON pygame实战--运用pygame库实现双人弹球小游戏 使用python pygame库实现一个双人弹球小游戏,两人分别控制一个左右移动的挡板用来拦截小球,小球会在两板间不停弹跳,拦截 ...

  8. python pygame 简单小游戏

    python pygame 简单小游戏 最近学习了pygame,感觉十分有意思,花了一点时间制作了一个简单的小游戏 效果图 这是一个很简单的防守类小游戏 玩家可以使用wasd控制人物移动,并且鼠标控制 ...

  9. 保姆级教学——Python+Pygame怎么实现吃豆豆游戏

    耽搁十几天的时间,我顺利的从阳转阴啦, 以后的日子一切恢复正常,好好工作,积极分享.希望在座的小伙伴阳了的全部健康转阴,没阳的全部不会变阳,新的一年,一切顺顺利利. 不知道最近大家学习得怎么样?有没有 ...

  10. 小甲鱼python游戏代码_【小甲鱼】零基础学习python pygame 飞机大战可执行源代码...

    [实例简介] [小甲鱼]零基础学习python pygame 飞机大战可执行源代码,觉得挺有意思,故此分享. [实例截图] [核心代码] 飞机大战 └── 飞机大战 ├── bullet.py ├── ...

最新文章

  1. JavaScript开发区块链只需200行代码
  2. boost::hana::remove_at_c用法的测试程序
  3. Android android:screenOrientation的简介
  4. mysqlbinlog恢复误删数据
  5. java 年份对应的中国生肖
  6. CISICO 路由器和交换机的基本配置命令
  7. 当科学家们使用计算机来试图,当科学家们使用计算机来试图预测复杂的--易哈佛考试题库...
  8. switch_case,,||,条件操作符和逗号操作符,循环语句
  9. 抗击疫情,宜复辟拱手礼
  10. php文件苹果用什么软件打开,你知道php文件用什么软件打开吗?
  11. Servlet面试题归纳
  12. [Bug]Superset通过pyhive连接Spark SQL表名获取失败
  13. 项目团队管理:有效管理团队的八个方法
  14. conda安装环境报错:Solving environment: failed with initial frozen solve.
  15. Visual Studio 2019重新安装问题
  16. 【OpenCV--角点特征】
  17. python图像处理:直方图的规定化(直方图匹配)
  18. 求最大连续区间和的几种方法
  19. bbs.php ww1.dzxa.me_bbs论坛小结
  20. sscom5.13.1 串口调试工具下载

热门文章

  1. 如何提高阅读源代码能力
  2. Java POI 拆分excel单元格并填充内容
  3. httpwatch使用_使用PHP自动化HTTPWatch
  4. IC人物志-Intel创世人Robert Norton Noyce(罗伯特·诺伊斯)
  5. APM2.8 Rover 自动巡航车设计(硬件连接)
  6. 金耀初教授:进化计算在人工智能领域的发展
  7. 第七课 实战文件注册机制
  8. python中keys是什么意思_python中的key是什么意思
  9. 抓住七月的尾巴,出门放松一下
  10. cesium中实现热力图