(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 ;) 上篇介绍了游戏主角的初始化方法,下面我们一次来实现主角的其他方 ...
随机推荐
- k-d树模板(BZOJ2648)
实现了插入一个点,查询距某个位置的最近点. #include <cstdio> #include <algorithm> using namespace std; , inf ...
- C语言程序设计第五次作业——循环结构
(一)改错题 1.题目:输出华氏摄氏温度转换表:输入两个整数lower和upper,输出一张华氏摄氏温度转换表,华氏温度的取值范围是{lower,upper},每次增加2℉.计算公式如下: c = 5 ...
- 基于PHP的地址智能解析案例-快宝开放平台
快宝地址智能解析,批量录入收件人.发件人最好的解决方案,广泛应用于快递行业,电商行业,ERP应用等. 一.对接前准备 注册快宝开放平台,获得开发者账号,查看如何注册. 二.对接联调 快宝开放平台支持多 ...
- 《Python黑帽子》_1设置Python环境安装wingIDE
1首先你得有个Kali 检测python版本 安装pip 2安装wingIDE 网站 http://www.wingware.com 获取WingIDE 3解压wingide并且解决依赖关系 下载后在 ...
- truncated、delete和drop的异同点
相同点 truncate和不带where子句的delete, 以及drop都会删除表内的数据. 不同点: 1.truncate和 delete只删除数据不删除表的结构(定义) drop语句将删除表的结 ...
- 当我们在谈论JMM(Java memory model)的时候,我们在谈论些什么
前面几篇中,我们谈论了synchronized.final以及voilate的用法和底层实现,都绕不开一个话题-Java内存模型(java memory model,简称JMM).Java内存模型是保 ...
- Java中使用CountDownLatch进行多线程同步
CountDownLatch介绍 在前面的Java学习笔记中,总结了Java中进行多线程同步的几个方法: 1.synchronized关键字进行同步. 2.Lock锁接口及其实现类ReentrantL ...
- JAVA中的常量定义在class中还是interface中比较合理?
本文地址:http://blog.csdn.net/sushengmiyan 本文作者:苏生米沿 java中使用的常量可以集中定义在一个文件中. 有两种解决方案: 1.在Constants.java中 ...
- 初识RecyclerView
初识RecyclerView 效果图 RecyclerView与ListView对比(官方) RecyclerView 小组件比 ListView 更高级且更具灵活性. 此小组件是一个用于显示庞大数据 ...
- Android开发之手把手教你写ButterKnife框架(三)
欢迎转载,转载请标明出处: http://blog.csdn.net/johnny901114/article/details/52672188 本文出自:[余志强的博客] 一.概述 上一篇博客讲了, ...