(NO.00005)iOS实现炸弹人游戏(一):游戏的整体规划设计
在这新的系列中,我们来尝试完成一款经典的游戏:炸弹人
这是以前红白机上的炸弹人,由于游戏可玩性强,玩法又简单,在后面的机型上陆续推出了很多款续作.
在随后的触屏设备上也出现了炸弹人的模拟版,用的是模拟手柄操作
那么我们尝试编写的炸弹人App和以前版本有什么不同呢?
1.首先玩家控制的方式不同
以前的版本需要实物手柄或模拟手柄操控,但是我们的炸弹人游戏完全是触屏版,不需要手柄控制.
2.两大类道具
玩家除了可以炸毁砖块取得标准道具外,还可以在游戏中随时使用即时道具,这将立刻改变游戏的敌我平衡,如果合理利用可以从劣势一下变为过关的优势.如果在商业游戏中可以考虑让玩家用RMB来购买这些”超级”道具:
如上图,目前设计3种超级道具,在后面我们会一一来实现.
因为实现的是炸弹人游戏,所以炸弹人游戏的精髓是不可缺少的,主要由以下几点:
1.玩家炸开砖块找到出口后,进入出口即告胜利,游戏进入下一关卡
2.如果游戏中玩家被自己炸弹炸到,被敌人碰到,或是用完剩余时间即告游戏失败,如果玩家生命为0则回到第一关开始游戏,否则从当前关卡重新开始
3.玩家可以在游戏中任意暂停和恢复
4.多种敌人
在猫猪版的炸弹人中设计了4种敌人,分别如下
- 普通火焰人,特点:速度慢,在整个游戏中成呆傻状
- 狗狗,特点:速度快,你跑不过它的…
- 果冻怪,特点:速度最慢,但是可以时不时的瞬间移动,而且可以穿墙移动
- 猫猫追踪者,特点:速度一般,但是可以偶尔猛追玩家不放,直到搞死玩家
根据想象力还可以有更多的敌人类型哦
5.还原FC炸弹人经典元素
如果炸弹炸到道具,道具就会被摧毁且变出一个新的敌人;如果炸到门,门中就会窜出一大堆敌人.
6.多种道具
游戏中道具多达12种,每种都有独特的效果:
//游戏道具枚举,其值和地图.tmx文件中properites地图块集中的ID值相对应
//其中数字的间断值表示此处没有道具(道具对应的地图集中的ID非法或无效)
typedef enum {
GPTypeWinAtOnce = 0,
GPTypeScoreUp = 1,
GPTypeRemoteCtrl = 2,
GPTypePowerUp = 3,
GPTypeNoFearBomb = 5,
GPTypeLifeUp = 6,
GPTypeAddBomb = 7,
GPTypeNeverDieLimit = 9,
GPTypeAcrossBrick = 10,
GPTypeSpeedUp = 12,
GPTypeMarkExit = 13,
GPTypeAcrossBomb = 14,
GPTypeEmpty = 10000
}GamePropertyType;
基本实现了FC中的所有道具,比如穿墙,穿炸弹,无敌,无惧炸弹和遥控爆炸等等.连一些极其罕见的道具也得以还原(在原FC中非常少见的道具);并且添加了一些原作中没有的道具,比如透视出口等,增加了娱乐性.
7.随机地图的生成,随机出口和道具的摆放.每一关的地形都是不一样的.
游戏的基本设计就是这样了,后续文章中我们就来逐步完成这些设计理念,Follow me ;)
(NO.00005)iOS实现炸弹人游戏(一):游戏的整体规划设计的更多相关文章
- (NO.00005)iOS实现炸弹人游戏(八):游戏主角(一)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 最近一直在做另一个RPG游戏,所以本系列迟迟没有更新,上一篇博 ...
- (NO.00005)iOS实现炸弹人游戏(三):从主场景类谈起
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我又粗粗看了下整个项目的代码,比较多: 不少类都与其他类有着千丝 ...
- (NO.00005)iOS实现炸弹人游戏(十一):怪物之火精灵
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 从本篇开始我们一次介绍一下游戏中敌人的制作过程.看过第一篇的小 ...
- (NO.00005)iOS实现炸弹人游戏(七):游戏数据的序列化表示
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 用plist列表文件来表示游戏数据 因为在这个炸弹人游戏中有很多 ...
- (NO.00005)iOS实现炸弹人游戏(五):游戏数据的初始化(二)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我们现在来依次看一下上篇中提到的各个方法,首先介绍的是updat ...
- (NO.00005)iOS实现炸弹人游戏(四):游戏数据的初始化(一)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 上一篇我们初步看了一下MainScene类的初始化方法里都做了神 ...
- (NO.00005)iOS实现炸弹人游戏(二):素材选择的取舍
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 前面一篇里我们基本明确了游戏的大致玩法和特点.下面就游戏中会用到 ...
- (NO.00005)iOS实现炸弹人游戏(十):游戏主角(三)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 下面我们来看游戏主角类里面几个播放特殊动画的方法,首先从run ...
- (NO.00005)iOS实现炸弹人游戏(九):游戏主角(二)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 上篇介绍了游戏主角的初始化方法,下面我们一次来实现主角的其他方 ...
随机推荐
- [IOI1998] Pictures
用线段树维护区间最小值和最小值个数来求一段区间里0的个数,把横的和竖的边分别拿出来,排序,然后每次查一下重复部分的长度即可 #include<iostream> #include<c ...
- bzoj3198[Sdoi2013]spring 容斥+hash
3198: [Sdoi2013]spring Time Limit: 40 Sec Memory Limit: 256 MBSubmit: 1143 Solved: 366[Submit][Sta ...
- SpringCloud学习之sleuth&zipkin
一.调用链跟踪的必要性 首先我们简单来看一下下单到支付的过程,别的不多说,在业务复杂的时候往往服务会一层接一层的调用,当某一服务环节出现响应缓慢时会影响整个服务的响应速度,由于业务调用层次很“深”,那 ...
- substr和substring的区别
substr和substring两个都是截取字符串的. 两者有相同点,如果只是写一个参数,两者的作用都是一样的:就是截取字符串当前下标以后直到字符串最后的字符串片段. 例如:`var a=”abcde ...
- 《Effective Java》 读书笔记(一)
对象的创建与销毁 ITEM1 使用静态工厂方法代替构造函数 传统的新建一个对象的方法是通过构造函数: Foo foo =new Foo(); 一个类也可以提供一个静态方法产生一个对象: Boolean ...
- 数据结构之堆Heap
1. 概述 堆(也叫优先队列),是一棵完全二叉树,它的特点是父节点的值大于(小于)两个子节点的值(分别称为大顶堆和小顶堆).它常用于管理算法执行过程中的信息,应用场景包括堆排序,优先队列等. 2. 堆 ...
- JavaScript正则表达式模式匹配(6)——常用的正则表达式
1.检查邮政编码 var pattern=/[1-9][0-9]{5}/; // 必须是6位,必须是数字,第一位不能为0 var str='274200'; alert(pattern.test(st ...
- html css <input> javaScript .数据类型 JS中的函数编写方式 BOM总结 DOM总结
Day27 html css div 块标签. 特点: 独占一行,有高度和宽度 span 行元素. 特点:在同一行显示,当前行满了自动去下一行显示. 不识别高度和宽度 1.1.1.1 2.输入域标签 ...
- acm几何
fzu 2231,N个点求构成的平行四边行个数. 题意简重点在优化上 #include <cstdio> #include <iostream> #include <cs ...
- asp.net使用session完成: 从哪个页面进入登录页面,登录成功还回到那个页面
1.在Login.aspx页面Load中加入 if (!IsPostBack && Request.UrlReferrer != null) { Session[ " ...