在这新的系列中,我们来尝试完成一款经典的游戏:炸弹人

这是以前红白机上的炸弹人,由于游戏可玩性强,玩法又简单,在后面的机型上陆续推出了很多款续作.

在随后的触屏设备上也出现了炸弹人的模拟版,用的是模拟手柄操作

那么我们尝试编写的炸弹人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实现炸弹人游戏(一):游戏的整体规划设计的更多相关文章

  1. (NO.00005)iOS实现炸弹人游戏(八):游戏主角(一)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 最近一直在做另一个RPG游戏,所以本系列迟迟没有更新,上一篇博 ...

  2. (NO.00005)iOS实现炸弹人游戏(三):从主场景类谈起

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我又粗粗看了下整个项目的代码,比较多: 不少类都与其他类有着千丝 ...

  3. (NO.00005)iOS实现炸弹人游戏(十一):怪物之火精灵

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 从本篇开始我们一次介绍一下游戏中敌人的制作过程.看过第一篇的小 ...

  4. (NO.00005)iOS实现炸弹人游戏(七):游戏数据的序列化表示

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 用plist列表文件来表示游戏数据 因为在这个炸弹人游戏中有很多 ...

  5. (NO.00005)iOS实现炸弹人游戏(五):游戏数据的初始化(二)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我们现在来依次看一下上篇中提到的各个方法,首先介绍的是updat ...

  6. (NO.00005)iOS实现炸弹人游戏(四):游戏数据的初始化(一)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 上一篇我们初步看了一下MainScene类的初始化方法里都做了神 ...

  7. (NO.00005)iOS实现炸弹人游戏(二):素材选择的取舍

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 前面一篇里我们基本明确了游戏的大致玩法和特点.下面就游戏中会用到 ...

  8. (NO.00005)iOS实现炸弹人游戏(十):游戏主角(三)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 下面我们来看游戏主角类里面几个播放特殊动画的方法,首先从run ...

  9. (NO.00005)iOS实现炸弹人游戏(九):游戏主角(二)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 上篇介绍了游戏主角的初始化方法,下面我们一次来实现主角的其他方 ...

随机推荐

  1. 为什么Unix只允许对非目录文件实行勾链?

    Unix文件系统的目录结构中带有交叉勾链,用户可以用不同的文件路径名共享一个文件,即文件的勾链在用户看来是为了一个已存在的文件另起一个路径名.在Unix的多级目录结构中勾链的结果表现为一个文件由多个目 ...

  2. PTA 邻接表存储图的广度优先遍历(20 分)

    6-2 邻接表存储图的广度优先遍历(20 分) 试实现邻接表存储图的广度优先遍历. 函数接口定义: void BFS ( LGraph Graph, Vertex S, void (*Visit)(V ...

  3. Linux学习之CentOS(六)---mount挂载设备(u盘,光盘,iso等 )

    对于新手学习,mount 命令,一定会有很多疑问.其实我想疑问来源更多的是对linux系统本身特殊性了解问题. linux是基于文件系统,所有的设备都会对应于:/dev/下面的设备.如: [cheng ...

  4. Python从入门到实践 学习笔记(二)元祖686gffs

    列表是可以修改的,而不可变的列表被称为元组 . 定义 * 用圆括号来标识.定义元组后,使用索引来访问其元素,就像访问列表元素一样 修改变量 * 不能修改元组的元素,但可以给存储元组的变量赋值 修改元素 ...

  5. Ajax来实现下拉框省市区三级联动效果(服务端基于express)

    //服务端JS代码: //提供服务端的处理 const express = require('express'); const fs = require('fs'); const app = expr ...

  6. 如何改变hr颜色

    html中用css改变颜色,<hr style="border:0;background-color:#ff0000;height:1px;">如果不加border:0 ...

  7. 基于无域故障转移群集 配置高可用SQLServer 2016数据库

    基于上次的文章搭建的环境,可以在这里:http://www.cnblogs.com/DragonStart/p/8275182.html看到上次的文章. 演示环境 1. 配置一览 Key Value ...

  8. 【if...else】身高预测

    每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后的身高的因素包括遗传.饮食习惯与体育锻炼等.小孩成人后的身高与其父母的身高和自身的性别密切相关.设faHei ...

  9. Node.js C/C++ 插件

    插件 Addons 是动态链接的共享对象.他提供了 C/C++ 类库能力.这些API比较复杂,他包以下几个类库: V8 JavaScript, C++ 类库.用来和 JavaScript 交互,比如创 ...

  10. 介绍Docker容器

    容器是 Docker 又一核心概念. 简单的说,容器是独立运行的一个或一组应用,以及它们的运行态环境.对应的,虚拟机可以理解为模拟运行的一整套操作系统(提供了运行态环境和其他系统环境)和跑在上面的应用 ...