Py学习  »  Python

用Python做个美少女大战小怪兽

菜鸟学Python • 4 年前 • 408 次点击  

对于飞机大战,想必大家都一定不会陌生,但是对于美少女大战小怪兽呢,大家是否玩过呢,今天小编就带领大家从头开始,制作一个《美少女大战小怪兽》的初级版。之所以是叫初级版是因为这个游戏只是实现了最为简单的功能,后续的大家还可以继续添加。



1

游戏的界面设计


本次游戏的编写是基于pygame函数库进行的,首先我们来看一下游戏的界面,当我们运行程序后,会先弹出来一个前言界面,简单的提示我们应该如何玩这个游戏,然后我们便进入了游戏的主界面,如下图所示:


2

整个游戏的角色,场景设计



接下来就是面对整个游戏的角色,场景设计了,游戏的设计主要分为四个部分,分别是四个类,对应着怪兽、美少女战士、子弹和整个的游戏。


我们挑选出一个类的函数来为大家稍作解释,作为面向对象的编程,怪兽应该有什么属性和动作呢,针对于这个游戏,小编想到它的属性有位置,速度,是否存活已经剩余的血量,外加被破坏时的样子,而他的动作无非就是上下方向的运动。这样一来,一个清晰的怪物形象就展现在大家的面前,怪兽类的程序如下图所示:


上图的程序中,小编按照上面我们所描述的定义了怪兽的血量、位置等属性,并定义了其运动的函数。其他的例如子弹和美少女战士都是按照类似的思想去设计,大家可以对照源码去理解,这对于锻炼大家面向对象编程能力的提高很有帮助。



3

整个游戏的逻辑设计


然后就是整个游戏的逻辑编写了。这也是将各个对象整合到一起的关键点。在游戏类的初始化定义里,如下图所示:

小编定义了游戏界面的带线啊哦,游戏界面的题目以及背景图画等信息,并实例化了美少女战士、怪兽和子弹。
游戏的主逻辑是这样的,当我们运行程序后,pygame通过监测键盘的按键来判断玩家对于美少女战士的移动方向,与此同时,子弹被不断的发射出去,程序如下图所示:


当子弹打中怪兽时,此时子弹就失去了生命,同时怪兽也失去了生命,他们都被丢弃掉了,然后怪兽和子弹便被重置,我们的得分会加1000分,如果怪兽打中了美少女战士,那么怪兽和美少女战士都被重置。


同时玩家的生命值也会减1。我们不断完成这些逻辑判断的同时,pygame也不断的将子弹、怪兽和美少女战士画到界面上来,就构成了我们的一次循环。


当我们完成上面的操作后,程序便会不断的再进入这个循环当中来,直到玩家的生命值变为0时,此时,便会出现下图的界面。

程序会告诉我们的得分情况,然后提示我们是否要重新来一局还是直接退出该游戏。如果我们选择重新再来一局的话,那么程序便会像我们前面所讲的那样,重新进入循环执行,直到我们想退出游戏。


以上就是小编带领大家对于游戏的梳理,下面就让小编为大家带来展示吧,为了增加游戏的体验,小编还特地为该游戏找到了不错的配音,如果大家觉得配音不喜欢的话,可以自己选择自己喜欢的配音进行更改即可。


完整的视频

先睹为快



需要源码,请后台输入:【小助手】,暗号美少女


更多有趣有用文章

手把手教你,菜鸟也能用Python写一个2048游戏

强烈推荐,用Python轻松打造定制款《植物大战僵尸》
小白都能看懂,用Python来实现一个区块链,就这么简单

天下武功为快不破,戏说Python与Go高并发争锋!

建议看一下,零基础学Python都想问的6个问题,老司机给你两千字解答


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/49661
 
408 次点击