(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 ;) 上篇介绍了游戏主角的初始化方法,下面我们一次来实现主角的其他方 ...
随机推荐
- 为什么Unix只允许对非目录文件实行勾链?
Unix文件系统的目录结构中带有交叉勾链,用户可以用不同的文件路径名共享一个文件,即文件的勾链在用户看来是为了一个已存在的文件另起一个路径名.在Unix的多级目录结构中勾链的结果表现为一个文件由多个目 ...
- PTA 邻接表存储图的广度优先遍历(20 分)
6-2 邻接表存储图的广度优先遍历(20 分) 试实现邻接表存储图的广度优先遍历. 函数接口定义: void BFS ( LGraph Graph, Vertex S, void (*Visit)(V ...
- Linux学习之CentOS(六)---mount挂载设备(u盘,光盘,iso等 )
对于新手学习,mount 命令,一定会有很多疑问.其实我想疑问来源更多的是对linux系统本身特殊性了解问题. linux是基于文件系统,所有的设备都会对应于:/dev/下面的设备.如: [cheng ...
- Python从入门到实践 学习笔记(二)元祖686gffs
列表是可以修改的,而不可变的列表被称为元组 . 定义 * 用圆括号来标识.定义元组后,使用索引来访问其元素,就像访问列表元素一样 修改变量 * 不能修改元组的元素,但可以给存储元组的变量赋值 修改元素 ...
- Ajax来实现下拉框省市区三级联动效果(服务端基于express)
//服务端JS代码: //提供服务端的处理 const express = require('express'); const fs = require('fs'); const app = expr ...
- 如何改变hr颜色
html中用css改变颜色,<hr style="border:0;background-color:#ff0000;height:1px;">如果不加border:0 ...
- 基于无域故障转移群集 配置高可用SQLServer 2016数据库
基于上次的文章搭建的环境,可以在这里:http://www.cnblogs.com/DragonStart/p/8275182.html看到上次的文章. 演示环境 1. 配置一览 Key Value ...
- 【if...else】身高预测
每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后的身高的因素包括遗传.饮食习惯与体育锻炼等.小孩成人后的身高与其父母的身高和自身的性别密切相关.设faHei ...
- Node.js C/C++ 插件
插件 Addons 是动态链接的共享对象.他提供了 C/C++ 类库能力.这些API比较复杂,他包以下几个类库: V8 JavaScript, C++ 类库.用来和 JavaScript 交互,比如创 ...
- 介绍Docker容器
容器是 Docker 又一核心概念. 简单的说,容器是独立运行的一个或一组应用,以及它们的运行态环境.对应的,虚拟机可以理解为模拟运行的一整套操作系统(提供了运行态环境和其他系统环境)和跑在上面的应用 ...