• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

有一只会射子弹的贪食蛇,你见过吗?

武飞扬头像
qianer
帮助1

在游戏编程学习过程中,我们可以有意识地对游戏案例进行一些改进和创新,这样不仅能增进学习效果,还能提高编程能力。

这里简单聊聊改进的思路,一般可以从两方面考虑:一是改变原有的玩法规则,二是综合不同案例的玩法。

下面以《趣学Python游戏编程》一书中的案例“贪食蛇”来进行说明。

学新通

《趣学Python游戏编程》第四章案例“贪食蛇”

贪食蛇相信大家都玩过,对它的游戏规则也再熟悉不过:在游戏中贪食蛇可以朝上下左右四个方向移动,吃到食物身体加长,这似乎已成为了一种思维定势。要想做出改变,我们首先需要在思维上进行突破。不妨对游戏规则进行逆向思考,比如可以问自己这两个问题:贪食蛇只能朝上下左右四个方向移动吗?贪食蛇的身体只能增加而不能减少吗?实际上问题的答案正是游戏改进的思路。

首先改变贪食蛇移动方向的限制,让贪食蛇可以任意方向移动。这需要对贪食蛇坐标的计算方式进行修改,通过蛇头角度值来确定坐标增量。但是这样一来,贪食蛇移动时的身体会显得怪怪的。因为案例中蛇身是用一个个小方块表示的,如果斜向移动时身体感觉脱节了。怎么办呢?于是想到用小球来替换方块作为蛇的身体,这样不管朝哪个方向移动,身体都是由一串连贯的小球组成。恰好书中第一章就是“弹跳小球”案例,可以用现成的图片资源。

学新通

《趣学Python游戏编程》第一章案例“弹跳小球”

接下来改变蛇身不能减少的规则。简单的做法是在场景中增设的一个debuf道具,当贪食蛇碰到后身体长度减一。这实际上是引入了一种惩罚机制,显得有些消极。有没有更积极的做法呢?学过本书的童鞋知道第八章是一个“飞机大战”案例,玩家可以发射子弹来射击敌机。可不可以借用飞机大战的规则,让贪食蛇将身体小球作为子弹发射出去呢?这也是减少身体长度的一种手段,但明显玩家可以主动控制,因此显得更加积极主动。

学新通

《趣学Python游戏编程》第八章案例“飞机大战”

现在我们已对贪食蛇游戏规则进行了比较大的改进,接下来可以考虑进一步完善。既然贪食蛇拥有了射击这一项新能力,我们需要考虑如何运用这项能力。在书的第五章介绍了“打字”游戏案例:屏幕底部会源源不断升起一些字母气球,玩家通过敲打键盘字母来消除气球。这里我们可以将该游戏的部分玩法综合运用到贪食蛇游戏中,即保留气球的生成和运动规则,同时去掉打字消除的功能,改由贪食蛇发射子弹来消除。

学新通

《趣学Python游戏编程》第五章案例“打字”

最后需要实现游戏的结束规则,因为对于任何游戏来说,结束规则都是必不可少的。原贪食蛇游戏的结束规则是:当蛇头碰到窗口四周或自己身体游戏结束。现在除了保留原有结束规则,还可以引入新的规则:每当蛇头撞到气球,贪食蛇身体长度减一,当减为零时游戏结束。此外,我们发现原贪食蛇游戏没有胜利的结束规则,每次游戏都会以失败告终,感觉这样对玩家不太友好。我们完全可以引入获胜的规则,比如设置游戏积分,当贪食蛇发射子弹击中一个气球加10分,累计100分玩家胜利。

经过上述一番改造,贪食蛇游戏已经面(焕)目(然)全(一)非(新)了。是不是觉得很有趣呢?或许这就是编程的乐趣吧。让我们多动手多实践,一起享受编程的乐趣!


下面从玩法设计的角度进行概括总结,可能更有启发意义。

下图展示了游戏玩法的关键要素,设计一款游戏可针对这几点分别设计;改进现有游戏也可考虑这几点,从一个或多个方面进行拓展。

学新通

下面分别针对上面各要素进行说明。

1 角色

  • 改变原有角色

改变贪食蛇的外观属性,将蛇身方块变为小球

改变贪食蛇的移动行为,原来只能朝上下左右四个方向移动,改为可以朝任意方向移动

  • 增添新角色

增添子弹角色,保留其原有的移动方式(与“飞机大战”中的一致),外观改为小球

增添气球角色,保留其原有的生成及移动方式(与“打字游戏”中的一致)

2 交互

玩家与角色交互

  • 改变原有交互

原来通过键盘上下左右键控制贪食蛇朝四个方向移动,修改为用左右键控制蛇头的旋转角度

  • 新增交互

按空格键贪食蛇发射子弹,同时身体长度减一

角色之间的交互

  • 新增交互

新增贪食蛇与气球的交互,蛇头碰到气球身体长度减一

新增子弹与气球交互,子弹击中气球分数加十

3 目标

  • 新增目标

蛇头碰到气球身体长度减一,若减为零游戏结束

子弹击中气球分数加十,若积分达到一百游戏胜利

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhggebhf
系列文章
更多 icon
同类精品
更多 icon
继续加载