【微信小游戏实战】零基础制作《欢乐停车场》二、关卡设计

1、游戏立项

微信小游戏中有一款《欢乐停车场Plus》的小游戏,大家可以搜索玩下。这是一款益智类的小游戏,游戏中有红、黄、绿、蓝、紫5辆豪车6个停车位,玩家通过可行走路线移动小车,最终让各颜色的小车停到对应的颜色车位,则完成本关挑战。接下来的日子,我将同大家一步一步的来实现这款小游戏,从零基础入门微信小游戏的开发和发布。

2、本篇内容

CocosCreator零基础制作《欢乐停车场Plus》微信小游戏  二、关卡设计

3、文章检索

1)、【微信小游戏实战】零基础制作《欢乐停车场》一、游戏设计

2)、【微信小游戏实战】零基础制作《欢乐停车场》二、关卡设计

3)、【微信小游戏实战】零基础制作《欢乐停车场》三、游戏场景制作

4)、【微信小游戏实战】零基础制作《欢乐停车场》四、游戏关卡脚本实现

5)、【微信小游戏实战】零基础制作《欢乐停车场》五、游戏玩法脚本实现

6)、【微信小游戏实战】零基础制作《欢乐停车场》六、游戏结束

7)、【微信小游戏实战】零基础制作《欢乐停车场》七、游戏发布

4、游戏实战

关卡设计的重点,就是分析游戏中的展现,通过合理的数据来展示对应的操作。

这句话怎么理解呢?我们先分析游戏中的展现,先观察下面2张图:

   

通过观察,我们可以发现以下几点:

1)、车位:车位是不变的,构成了一个六边形的形状,从下往上,从左到右。依次是空、蓝、红、黄、绿、紫。同时也告诉我们车的颜色也固定了。

2)、道路:道路的连线是跟随关卡变化而变化的。

3)、车位置:车的初始位置也是随着关卡的变化而变化的。如:第一关红车的位置位于左下角,而第二关红车的位置位于六边形的最上面。

 这些变化的内容,就需要我们通过数据表示出来,同时对这些数据来做一些操作。如点击小车,小车移动了,位置会改变,原来空车位的位置会改变,这就需要操作我们的数据了。这就是关卡设计的重点。

根据上面的几点,我们可以这样设计数据:

1)、车位:从下往上,从左到右,我们依次用数字 0代表空车位;1代表蓝车位;2代表红车位;3代表黄车位;4代表绿车位;5代表紫车位;车跟车位颜色是对应的,那我们同时也能表示我们的豪车了,每个豪车也有编号了。^_^

2)、道路:道路的连线,我们可以通过车位连线来表示这条道路。如:第一关空白车位和蓝色车位之间的这条道路,我们可以表示为[0,1],这样就可以准确的表示,0位置和1位置之间有一条道路。

3)、车的位置:车的颜色(也可认为是编号)有了,车位的编号有了,那就可以准确的表示了。如第一关红车,我们可以表示为"红车在位置为1"=>[2,1](能想到这我们就离真相不远了),这样表示就有个问题5辆车,5个数组,有点复杂,其实我们可以用一个数组来表示出当前关车的位置。

理解了上面的设计数据,我们就可以构造出这两关的数据:

1)、第一关

 "level1":[[[0,1,1],[0,3,1],[0,5,1],[1,2,1],[1,4,2],[2,3,1],[2,5,3],[3,4,1],[4,5,1]],[0,2,3,5,1,4]],

2)、第二关

"level2":[[[0,1,1],[0,2,1],[0,4,1],[0,5,1],[1,5,2],[2,3,1],[3,4,1]],[0,5,4,2,3,1]],

数据剖析:

每一关可以认为是一个二维组数,

1)、数组的第0个元素是所有的道路的连线,每条连线又是一个数组,如:第二关的第一条路线,可以表示为:level2[0][0] = [0,1,1];

[0,1,1]表示什么意思呢?第0和第1个车位之间有一条路线,这条路线的zInde(显示层级)是1。

2)、二维数数组的第1个元素是所有的车所在的位置,如:第二关的车位置可以表示为[0,5,4,2,3,1];

[0,5,4,2,3,1]表示什么意思呢? 【第0车位是空,第1车位是紫车,第2车位是绿车,第3车位是红车,第4车位是黄车,第5车位是蓝色】。

5、游戏总结

1)、如有问题,欢迎留言,加QQ群交流。QQ群: 1群:418177552(已满)  2群:858799494

2)、数据我们已经构造出来了,下一篇我们一起实现,游戏场景界面的布局。

转载于:https://www.cnblogs.com/zhangdw/p/9845058.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/265200.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

线程同步(互斥锁、条件、读写锁、信号量)

参考:(四十三)线程——线程同步(互斥锁、读写锁、条件变量、信号量) 作者:FadeFarAway 发布时间:2017-01-17 21:25:28 网址:https://blog.csdn.net/FadeFarAway/article/details/545…

Nginx使用Expires增加浏览器缓存加速(转)

转载自:Nginx使用Expires增加浏览器缓存加速 Nginx可以更改HTTP头部,这个是Web服务器必须的,当然Nginx更可以支持在HTTP头部中添加Expires等相关信息,增强浏览器缓存,是网页加载速度增强。 Nginx中使用Expires增强浏览…

Linux curl命令详解

转自:https://www.cnblogs.com/duhuo/p/5695256.html 命令:curl 在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统…

MAC地址、IP地址、ARP协议

B站视频:计算机网络微课堂(有字幕无背景音乐版) 网址:https://www.bilibili.com/video/BV1c4411d7jb?p61 说明:讲的不错,后期可以继续看此视频学习网络知识 目录MAC地址IP地址ARP协议MAC地址 IP地址 ARP协…

编程学习网站

2019独角兽企业重金招聘Python工程师标准>>> ‍ 刚开始学习编程,如果只是拿着书本拼命敲代码,肯定是非常枯燥的。如果不是非常有决心和毅力可能就会轻易放弃了,有没有学习坡度不那么陡的教程呢? 让我们可以先学点基本的…

ARM指针寄存器——堆栈指针寄存器SP、程序计数器PC、连接寄存器LR

参考:堆栈指针寄存器 SP详解以及栈的作用 作者:蓝色鲜橙多 网址:https://blog.csdn.net/qq_36588941/article/details/89873633?utm_sourceapp&app_version4.16.0&codeapp_1562916241&uLinkIdusr1mkqgl919blen 目录堆栈的实现方…

U-Boot 图形化配置及其原理

目录U-Boot 图形化配置体验(如何使能dns 命令)menuconfig 图形化配置原理make menuconfig 过程分析Kconfig 语法简介1、mainmenu2、调用其他目录下的Kconfig 文件3、menu/endmenu 条目3、config 条目4、depends on 和select4、choice/endchoice5、menuco…

类与对象(三)

定义一个描述教师的类Teacher,数据成员包括工号(Num),姓名(Name、性别(Sex、家庭住址( Addr}、联系电话(Tel}, E-mail地址(Email )、职务(Headship )、职称(Post)和工资(Salary对于数据成员,要求用字符数组实现工号、姓名、家庭住址、联系电话、E-mail地…

OpenStack tokens id获取测试

转载于:https://www.cnblogs.com/heidsoft/p/3524711.html

Linux 内核获取、初次编译、源码目录分析

目录Linux 内核获取Linux 内核初次编译Linux 内核源码目录分析1、arch 目录2、block 目录3、crypto 目录4、Documentation 目录5、drivers 目录6、firmware 目录7、fs 目录8、include 目录9、init 目录10、ipc 目录11、kernel 目录12、lib 目录13、mm 目录Linux 内核获取 关于L…

PHP里10个鲜为人知但却非常有用的函数

PHP里有非常丰富的内置函数,很多我们都用过,但仍有很多的函数我们大部分人都不熟悉,可它们却十分的有用。这篇文章里,我列举了一些鲜为人知但会让你眼睛一亮的PHP函数。 levenshtein() 你有没有经历过需要知道两个单词有多大的不同…

学会阅读硬件的原理图、数据手册大全

参考: 郭天祥:https://www.bilibili.com/video/BV1DW411a7mz?p8 韦东山:https://www.bilibili.com/video/BV1ga4y1Y7PL?p4 https://www.bilibili.com/video/BV17g411F7oR?spm_id_from333.999.0.0 洋桃电子:https://www.bilibil…

解决替换weblogic的commons-fileupload.jar后引发的问题

为什么80%的码农都做不了架构师?>>> 上一篇博文中提到通过替换weblogic自带的commons-fileupload.jar来解决FileUpload类的NoSuchMethodError问题。在完成替换后,该问题得到顺利解决,但是也会引发其他的一些问题,下面…

Python for Data Analysis 学习心得(二) - pandas介绍

一、pandas介绍 本篇程序上篇内容,在numpy下面继续介绍pandas,本书的作者是pandas的作者之一。pandas是非常好用的数据预处理工具,pandas下面有两个数据结构,分别为Series和DataFrame,DataFrame之前我在一些实战案例中…

Euler:欧拉函数&素数筛

一、欧拉函数 欧拉函数是小于x的整数中与x互质的数的个数,一般用φ(x)表示。 通式: 其中p1, p2……pn为x的所有质因数,x是不为0的整数。比如x12,拆成质因数为122*2*3,12以内有1/2的数是2的倍数,那么有1-1/2…

大小端字节序

想起以前在汇编语言和数字逻辑的时候也有接触到一些这个概念,已经有点模糊了,搞不清楚哪个是低位在前哪个是高位在前。后来在Wiki和Google的帮助下也算摸清楚了一些Endianness的概念。 一、字节序的起源 在计算机中,字节序(Endian…

docker 部署nginx 使用keepalived 部署高可用

一.体系架构 在Keepalived Nginx高可用负载均衡架构中,keepalived负责实现High-availability (HA) 功能控制前端机VIP(虚拟网络地址),当有设备发生故障时,热备服务器可以瞬间将VIP自动切换过来&#xff0c…

虚拟字符设备驱动开发步骤

目录前言字符设备驱动简介内核驱动操作函数集合(file_operations结构体)字符设备驱动开发步骤.ko驱动模块的加载和卸载(module_init驱动入口、insmod驱动加载)字符设备注册与注销到内核register_chrdev(设备号、设备名) -- 很少用了实现设备的具体操作函数添加LICENSE 和作者信…

设计模式20——Mediator设计模式

2019独角兽企业重金招聘Python工程师标准>>> Mediator中介者设计模式是通过一个中介对象封装一系列关于对象交互行为. Mediator中介者设计模式中的角色如下: (1).中介者(Mediator):抽象定义了“同事”(co…

Linux LED驱动开发实验(直接操作寄存器 -- 实际开发很少这样做)

目录Linux 下LED 灯驱动原理地址映射(ioremap映射、iounmap释放)I/O 内存访问函数硬件原理图分析实验程序编写LED 灯驱动程序编写APP测试程序编写运行测试编译驱动程序和测试APP拷贝led.ko 和ledApp到指定目录加载led.ko 驱动模块到内核创建应用层“/dev/led”设备节点运行测试…