现在学习编程似乎非常的热门,尤其是针对小孩子。各种培训机构教育机构都会有各种各样的编程课,宣传要尽早的培养孩子的编程思维,因为当前是互联网的时代,将来会编程可能会像每个人都会开车一样的成为一种必须的技能。
至于未来编程能力是否会成为每个人都必须具备的能力,我持怀疑态度。但是对于“编程思维”这个概念,我倒是根据自己的一些情况,有一些理解。
我认为“编程思维”无非就是一种换位思考,就像我们都知道的,如果你想要理解他人,就要学着换位思考,把自己换到对方的角度上,根据对方当前所面对的情况和处境,来理解他人的行为和想法。“编程思维”需要进行换位思考的对象不是人,而是计算机。也就是说你要切换到计算机的角度上来考虑问题,要将你的想法转换成计算机能够理解的东西。
言归正传,今天我们直接从游戏中最难的地方入手,先把最难的地方搞明白,剩下的路就会好走很多。
如上图,就是我们将要实现的游戏的核心玩法:将下方的图形拖拽到上方的网格中,如果凑满一行或者一列就能够消除得分。
图中所看到的这个游戏,是我们的想法,但是对于计算机来说,它是无法直接理解这样一个想法的,接下来我们需要做的就是换位思考, 切换到计算机的视角,让计算机能够理解我们的想法。
对于计算机来说最擅长的就是处理数据,所以我们把这些网格以及方块都转化为数据。
如图,还是同样的网格,不同的是现在它已经被填满了数据。对于这个网格上的每一个格子来说,只需要知道一件事,里面有没有方块。所以在这里就用0和1表示当前格子里是否有方块, 没有方块的时候就设置成0,有方块的时候就设置成1。
如图, 当检查是否能够消除时,其实需要做的就是遍历网格中的数据,如果发现一行或者一列的数值都是1时,就满足了消除条件。
对于下方需要拖拽的图形,我们同样将其填充上数据。
当我们把下方的图形拖拽到上方的网格中时,其实就是将图形的数据填充到网格中的对应位置。每次填充完数据后,检查一次网格,看是否满足消除的条件:一行或者一列都是1。
这就是游戏中的最重要的逻辑。它看起来是这个样子的。
我们通过动图理解游戏的逻辑,而计算机将会通过处理数据来帮助我们实现逻辑。
总结一下游戏的逻辑:为网格中的每一个格子设置一个标志,0表示没有方块,1表示有方块,当将下方的图形拖拽到网格中时,将图形的数据填充到网格的对应位置。然后检查网格,看看是否有满足条件的行或者列,有的话,将对应的行和列消除,然后将标志重制为0。
这一节就到这里了,重点是需要理解游戏中的核心玩法的实现逻辑,体会一下如何将一个想法转化成计算机可以理解的东西。
下一节我们会使用微信小游戏制作工具中的“表格”来实现网格中的数据存储,检索以及设置等操作。
我是会做游戏也会教你做游戏的小蚂蚁,想学习做游戏的话,关注我就对啦!欢迎关注公众号【小蚂蚁教你做游戏】,领取全网最全的微信小游戏开发原创教程资料。