羊了个羊 通关代码思路

羊了个羊过关思路

9.16重大更新

此题放弃了,这题无解。出题的随机性很大,到最后根本凑不成三个相同的。将近百分之一的有解率。坑人的游戏

前言

肝了几遍微信小程序“羊了个羊“,发现有大概的解题思路,需要用代码敲一下子。遂先写一下思路,有空的话代码实践一下子。
游戏胜利机制为消除背景上方所有图标,消除方法为点击三个相同的图标,难点在于当有超过三个相同图标时,需要考虑图标下一层掩盖的图标,从而实现最优选择。
总体来讲,分几大方面:

1.堆栈

羊了个羊 通关代码思路_第1张图片
堆栈实行先入后出原则,对应游戏里最下方的土坑样的储存空间,因此允许先存储暂时无法进行消除的图标。

stack = []
容量最多有7个,因此允许前四个图标不相同,但最后三个必须相同
当栈内检测到有三个相同图标时,进行出栈

2.Mask掩膜

主要焦点为高亮图标对暗处图标进行了一定程度的遮挡,通过图像识别对遮挡图标进行检测。

  • 检测高亮显示的图标
  • 检测被遮挡图标
  • 检测该层是否有可三连消除的图标
  • 更新图片,重新检测

3.识别

  • 识别高亮图标类别
  • 根据部分特征识别被遮挡图标类别
  • 标记被遮挡图标位置
imoport cv
利用OpenCV进行图像检测、识别

4.判断

  • 判断高亮图标消失后,可以将哪些”暗图标“变为”亮图标“

5.强化学习

奖励机制正在探索中

6.代码思路

注意只有思路

# 当前高亮显示的图标及对应位置
high_light_pic = [水桶,剪刀,饭团,饭团,饭团]
high_light_pic_xy = [[123321],[111,222],[333,444],[678,321],[555,666]]
if high_light_pic能进行三消:
	找到三个相同图标,进行消除
else:
	选择一个亮图标,该图标需具备入栈后其掩盖的暗图标可以实现三消的能力。

你可能感兴趣的:(算法,python,经验分享)