前言:正文中的是微信小程序中的汽车华容道。
汽车华容道应该是由三国华容道改造而来的,比三国华容道简单多了。
三国容道https://blog.csdn.net/nameofcsdn/article/details/104597070
目录
一、规则
二、全球政策——对齐法
三.全球战略——位置推导法
四.局部战略——关键车
五.全球战略——双时间位置推导法
六.单点战略——口字形翻转
一、规则
整个界面由6*6个格子组成。 车有1*2、1*3、1*4种。 车只能前后滑动,不能左右滑动。 目标车(唯一的红色车)在中间的队伍里,如果像目标车出去一样开动车,就会胜利。
PS :本文的策略都是基于这个规则来表达的,其他华容道游戏可能会有些不同。
二.全局策略——对齐法
有很多局面。 有一辆以上1*3的车。 对象车打滑时,他们必须在下面。 也就是说,有几辆车在右下方纵向排列。
左下有几辆并排的车,其他的在上面。
我把这种状态称为对齐状态。
我把通过接近这个方向的操作实现最终胜利的方法称为对齐法。
对齐法简单归纳一下就是,先识别哪些车子要移上去,然后把这些车子移上去基本上就快胜利了。
以下是几个级别的开局状态和对齐状态。
三.全球战略——位置推导法
位置导出法是指对象车从开始位置到最终位置,一定有一个时刻位于正中间的位置,以此为基础将其他车的位置一个个推出。
例如:
红车位于下图红框位置时,黄车只位于黄框位置。
进一步推出这三款黄色车型的位置:
再打出两个白色车位:
其中描绘的丑陋的两个白圈表明这辆白色的车有两个可能的位置。
这样,可以说得出了所有车的位置。
四.局部战略——关键车
使用位置推导法,可以发现大量开局都有这样的规律。
存在这样的一个车,只要推导出它的目标位置,并把它移到这个位置,这一关就基本上胜利了。而且,在把它移到这个位置的过程中,不需要考虑其他任何车子,在把它移到这个位置之后,就不用再动了。这样,这个问题的复杂度就大大降低,不仅划分为2个子问题,而且格子的数量和车子的数量都有下降。
这辆车叫钥匙。
寻找关键车的方法当然是一步一步地导出位置,但关键车的选择标准是什么
么呢?关键车选择原则一:评估每个车子到目标位置的距离,距离最大的车就是关键车。
这里的距离是综合考虑直观的几何距离和解空间的距离(即操作步数)得到的。
以前面这一关为例:
距离最大的是第一行的白车和第四列的黄车,但是,
在除第四列的黄车之外的车子都在或非常接近目标位置的情况下,第四列的黄车可直接往下移,
而在除第一行的白车之外的车子都在或非常接近目标位置的情况下,第一行的白车也无法往右移,因为被第三列的白车挡住了,所以第一行的白车就是关键车。
关键车选择原则一的补充:在考虑每个车子到目标位置的距离时,可假设其他车子都已在或者非常接近目标位置。
找到关键车之后,我们先把关键车移到目标位置:
然后迅速把第三列的白车归位:
至此,已经没有任何悬念了。
再来看看“关键车选择原则一的补充:在考虑每个车子到目标位置的距离时,可假设其他车子都已在或者非常接近目标位置”,
这个思路还不够简洁,而且不够准确,于是我推出原则二来代替:
关键车选择原则二:如果距离目标位置的车子(不包括红车)数量超过1,根据这些车子移动到目标位置的过程之间的逻辑依赖性,找到需要第一个移到目标位置的车子,即为关键车。
举例来看:
按照位置推导法,找到目标位置:
这里的椭圆用来表示相邻的2个目标位置都是有可能的。
可以看出,距离目标位置较远的是2个车:第3列的白车和第5列的黄车。
进一步,很容易得到,一定是先把第3列的白车移上去,然后才能把第5列的黄车移下来,所以第3列的白车就是关键车。
先把第3列的白车移上去:
再把第5列的黄车移下来:
至此,已经没有任何悬念。
五,全局策略——双时刻位置推导法
这其实是对位置推导法的简单拓展,双时刻位置推导法就是,红车一定会从某个位置移到它右边相邻的位置,在这个过程中其他车子是不动的,也就是说这3个格子都必须被红车占据。
举例来说:
用位置推导法是推不出第2行的白车的位置的,但是用双时刻推导法:
红车一定会从左边的红框移到右边的红框:
可以推出此时其他车的位置:
所以关键车就是第2行的白车,移到左边之后就变成:
此时,继续分析,不难发现下一步就是要把第3列的车子移上去:
至此,已没有任何悬念。
六,单点策略——口字形反转
有时会碰到这样的局面:
稍微移动一下变成:
很明显,右边的中间四个车子形成了一个口字形,互相挡道,谁也挪不了。
口字形的破解方法是:看哪个车能后退到脱离这个口字形,把这个车后退,再把另外三个车移到他们的目标位置。无论什么情况下,都至少存在一个这样的车。
以上图为例,只有红车可以后退,所以先把红车后退,变成:
再把口字形的另外3个车子移到目标位置:
PS:其实第6列的黄车离目标位置还有一格差距,不过在不移动红车的情况下,只能做到这一步了。
此时,已经没有悬念了。
用这几个攻略,即可轻松全部通关: