编写一个经典游戏超级玛丽,如果用其他语言可能要上千行代码,而Python简洁的语法和强大的扩展库,使用Python最少只需两百多行就可完成,零基础都可以完成。最后写成的效果如下图:
 
 
python开发超级玛丽游戏使用的扩展库是 Pygame Zero(简称Pgzero) 安装:pip install pgzero
下面的几个步骤操作,轻松完成超级玛丽python开发
1、建立游戏场景
建立游戏窗口只需两行代码:
import pgzrun
pgzrun.go()
在Python自带的IDLE编辑器中输入上述代码,运行便可以看到一个游戏窗口
 
 
用下面两行代码可以调整一下窗口大小
import pgzrun
HEIGHT=640
WIDTH=1024
pgzrun.go()
为窗口设置一个背景颜色,可以在Pgzero提供的draw()函数中编写代码:
def draw():screen.fill((148, 146, 255))
上述代码用RGB颜色值(148, 146, 255)为游戏窗口生成了一个背景色,并自动显示出来,效果如下:
 
 
接下来定义一个文本文件,把游戏场景中各种物体的位置用字母记录下来:
 
 
然后在程序中编写代码来读取文件,在相应字符的位置处生成物体,并将生成的物体全部加入到列表objs中。
最后在draw()函数中加入显示物体的代码即可:
def draw():screen.fill((148, 146, 255))for obj in objs:obj.draw()
场景的最终显示效果如下:
 
 
 
2、创建游戏角色
Pgzero中生成一个游戏角色十分简单,只需一行代码即可:
mario=Actor("smario.png",(200,HEIGHT-120))
Actor类是Pgzero提供的角色类,调用该类的构造方法并传入角色图片和位置便可生成一个角色对象,同时在draw()函数中显示该角色即可。修改后的draw()函数如下:
def draw():screen.fill((148, 146, 255))for obj in objs:obj.draw()mario.draw()
现在看看效果:
 
 
 
3、场景与角色的交互
玛丽便能站在地面上,而且可以顶砖块、吃蘑菇、捡金币、踩怪物等等。
以吃金币为例,我们可以编写如下代码:
class Coin(Actor):
def react(self):
if mario.colliderect(self):
sounds.coin.play()
objs.remove(self)
mario.points=mario.points+1
我们首先定义了一个金币类Coin,它继承自Actor类。然后在其中定义了react()方法,该方法判断玛丽是否“吃”到了金币,如果吃到则先播放一个音效,接着将金币对象从objs列表中移除,最后为玛丽增加一个游戏积分。
可以看到,Pgzero为我们提供了非常便捷的API来实现游戏基础功能,比如判断玛丽是否吃到金币,这实际上是个碰撞检测问题,只需调用colliderect()方法即可,而不需要手动编制大量代码。同时播放声音也只用一行代码就可搞定。
通过以上3个步骤,一款超级玛丽游戏就开发成功了,最终运行效果如下:
 
 
python开发超级玛丽的源码下载链接:
https://aliyundrive /s/8uDL2tA3GyY
更多详细的开发过程可以参考《零基础入门Python游戏》一书,该书第7章《超级马里奥》,
 
 
本书将从零开始带领读者上手3个独立的Python小游戏的开发过程,包括《飞机大战》《俄罗斯方块》《超级马里奥》。这些游戏简单易学,可以帮助读者通过编写游戏的方式提高Python编程能力,极具趣味性,让朋友们边玩边学!
最后,如果想要用python开发出更多有趣的游戏,全面系统学习Pygame Zero可以参考《趣学Python游戏编程》一书,
 
 
该书通过十个经典游戏案例,深入浅出地介绍了游戏编程的基本原理,以及Pygame Zero的具体使用方法。《趣学python编程》语言轻松,通俗易懂,讲解由浅入深,力求将读者阅读和学习的难度降到最低。任何对计算机编程有兴趣的人或者首次接触编程的人,不论孩子还是成人,都可以通过阅读本书来学习python编程。
以上从python的一个经典小游戏开始,介绍了python零基础开发游戏的步骤,并 介绍了两本关于python游戏开发的书,可以给孩子或者正在学习编程的学生使用,当然,如果是高龄人士,也可以用来培养一个爱好,没事编写一些程序养生一下,
 
                本文TAG:超级玛丽小游戏
猜你喜欢
- 2023-08-30传奇轻变攻速基址:里的这几个矿藏地图,你明白几个呢?
 - 2022-02-22刺客信条3存档损坏_刺客信条起源怎么存档
 - 2022-02-22psp碧之轨迹下载_碧之轨迹中文版iso
 - 2022-02-21fifa15破解补丁_fifa15破解补丁怎么打
 - 2022-02-21手机卡牌游戏(最火的手机卡牌游戏)
 - 2022-02-21龙腾世纪起源_龙腾世纪起源自由爱mod
 
- 最近发表
 
- 标签列表
 - 
- 传奇手游私服 (7)
 - 新开传奇手游网站 (7)
 - 传奇单职业 (2)
 - 传奇手游变态版 (1)
 - 传奇发布网 (7)
 - 传奇sf手游版 (1)
 - 新开传奇 (1)
 - 传奇私服 (1)
 - 拳皇7k7k小游戏 (0)
 - nitrome小游戏 (0)
 - 最新传奇发布网 (0)
 - 每日新开传奇网 (0)
 - 找176复古传奇 (0)
 - 超级变态热血传奇 (0)
 - nba2k11最新名单 (0)
 - 王者荣耀更新 (0)
 - 王者荣耀体验服申请 (0)
 - 英雄联盟出装顺序 (0)
 - 三国志单机游戏 (0)
 - 王者荣耀宫本武藏符文 (0)
 - 梦幻西游109神器任务攻略 (0)
 - 下载英雄联盟 (0)
 - 机械公敌兰博出装 (0)
 - 王者荣耀西施 (0)
 - 王者荣耀无限火力 (0)
 - 不知火舞王者荣耀 (0)
 - 300英雄三笠出装 (0)
 - 冒险岛2职业 (0)
 - 龙将2官网 (0)
 - 热血传奇怀旧版好玩吗 (0)
 - 传奇超级 (0)
 - 传奇师服 (0)
 - 迷失传奇发布网 (0)
 - 韩版传奇私服发布网 (0)
 - 传世新开 (0)
 - 传奇2外挂 (0)
 - 传奇复古 (0)
 - 单职业变态 (0)
 - 传奇sf180 (0)
 - 传世sf吧 (0)
 - 传奇私服gm命令大全 (0)
 - 传奇世界私服刷元宝 (0)
 - dnf私服发布网 (0)
 - 网页三国游戏排行榜 (0)
 - 傲视千雄私服 (0)
 - 热血传奇176客户端下载 (0)
 - 最新机战私服 (0)
 - 传奇吉吉免费版 (0)
 - 蜘蛛纸牌游戏 (0)
 - 最热门的网游排行榜 (0)
 - 2d网游 (0)
 - 网游私服排行榜 (0)
 - moba网游 (0)
 - 439小游戏 (0)
 - 飞车小游戏 (0)
 - 奥奇传说小游戏 (0)
 - 龙斗士小游戏 (0)
 - 下载手机游戏 (0)
 - 维京神域之战 (0)
 - 星际2单机 (0)
 - 防守类单机游戏 (0)
 - 灰烬攻略 (0)
 - 战神3pc版 (0)
 - 腐尸之屋 (0)
 - 新神奇传说3秘籍 (0)
 - 生化危机5怎么存档 (0)
 - 三国群英传1单机版下载 (0)
 - 捕鱼达人手机版 (0)
 - 仙剑奇侠传游戏1 (0)
 - 暴力摩托单机版下载 (0)
 - fifa12下载 (0)
 - 色单机游戏 (0)
 - 三国志13修改器 (0)
 - 梦幻西游单机版神剑情天3 (0)
 - 对打单机游戏 (0)
 - 三国群英传7补丁 (0)
 - 最好单机游戏下载 (0)
 - 流星蝴蝶剑秘籍大全 (0)
 - 孢子 (0)
 - 梦幻西游赚钱 (0)
 - 梦幻西游答题 (0)
 - 王者荣耀防沉迷 (0)
 - 梦幻西游挖图技巧 (0)
 - 梦幻岛游戏 (0)
 - 轩辕剑网游官网 (0)
 - 梦幻西游手游论坛 (0)
 - 极道阴阳师 (0)
 - 仙剑奇侠传3下载 (0)
 - 七龙珠人物换装2 (0)
 - 赛尔号手机版下载 (0)
 - lol战队名字 (0)
 - 黑湾海盗中文版 (0)
 - 超级街霸4街机版 (0)
 - 侵略行为 (0)
 - 孤岛惊魂3结局 (0)
 - 龙珠单机游戏大全 (0)
 - 仙剑三游戏下载 (0)
 - 策略单机游戏 (0)
 - 家园2简体中文版 (0)
 - 现代战争2 (0)
 
 

