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

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,一经查实,立即删除!

相关文章

服务器端密钥库文件,使用密钥库文件为SOAP运行客户端WS

该错误表示在您的信任库中找不到服务器证书。检查.keystore文件的内容以确定它是否包含服务器证书(在truststore中列为trustedEntry)。如果是&#xff0c;请设置以下系统属性(使用-D JVM参数或System.setProperty())。javax.net.ssl.trustStore<>javax.net.ssl.trustStor…

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

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

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

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

Linux curl命令详解

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

MAC地址、IP地址、ARP协议

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

编程学习网站

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

C#字符处理

一丶C#删除最后一个字符 例&#xff1a;字符串 string str"1,2,3,4,5,,6,7,8,9," 去掉最后一个逗号 ","; 常用的方法&#xff1a; 1.SubString()方法 strstr.SubString(0,str.Length - 1); 2.Remove()方法 strstr.Remove(str.Length-1,1); 3.TrimEnd()方法…

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

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

【译】将IDataRecord自动填充到实体的扩展方法

Mapper&#xff1a; Mapper的核心功能是创建一个委托函数并映射到一个目标类的实例。此委托是使用表达式树创建的一个lambda表达式。在这个函数中有一个双重循环&#xff0c;从 DataRecord 获取字段并和从实体类中获取的属性名称比较从而填充实体实例。所以第一个要求就是在使用…

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

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

类与对象(三)

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

bzoj 3157 bzoj 3516 国王奇遇记 —— 推式子

题目&#xff1a;https://www.lydsy.com/JudgeOnline/problem.php?id3157 https://www.lydsy.com/JudgeOnline/problem.php?id3516 这篇博客写得太好&#xff1a;http://blog.miskcoo.com/2014/06/bzoj-3157 然而目前之会 \( O(m) \) 的做法&#xff1b; 感觉关键是设计 \( S…

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

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

前端(jQuery UI)(2)-- jQuery UI interactions

之后补充转载于:https://www.cnblogs.com/foreverlin/p/10127982.html

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

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

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

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

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

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

别人总结的一些git教程大全

工作中&#xff0c;除了必备的基础知识&#xff0c;还要学会与人合作。 如何将你开发的小功能整合到整个项目的大框架中如何让你的实验性代码不影响到大框架中的代码性能如何让你放下手中写到一半的代码去修改突然出现的bug 这些都是会出现的情况&#xff0c;为了应对这些情况…