编写一个经典游戏超级玛丽,如果用其他语言可能要上千行代码,而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)