0
点赞
收藏
分享

微信扫一扫

关于拼图游戏引发的一些思考

善解人意的娇娇 2022-04-15 阅读 46

1、拼图涵盖了几乎所有可能的思维模式
·基本逻辑
联系和比较,将独立小块和整幅图做多次比较,确定具体位置。
·分类思考
可以按照三种分类来拆解问题,边缘区域,背·面符号类型,局部整体图案
·精准思考和模糊思考
每一个独立小块的具体位置需要和上下左右精确匹配,图案和形状都不能错。
在搜索阶段则可以按照背面符号类型
·局部思考和整体思考
局部组成了整体,局部最小单位是独立小块
·陶冶情操
拼图一般是自己喜欢的图案,可以陶冶情操

2、如果用代码模拟拼图的过程
2.1、独立小块的特性和模型
·图案即像素加颜色
每一个独立小块由若干有颜色像素组成。
像素可以是上下坐右中五个部分组成,颜色用字母或者数字表示,每个部分可以包含多个像素以模拟不同的图案
·边界类型
像素的五个部门增加标志,即是否为空,为空即表示那一侧为边界
·区分方向
独立小块五个部分为上下左右中,有方向标志
·小块的唯一性:精确比较的实现
可以提供一个hash算法,将独立小块五个部门进行hash运算,比如使用md5(序列化对象)这种简单粗暴的方式
·背面符号
独立小块增加一个背面符号属性
·像素比重:模糊比较的实现
当一个独立小块某像素比重较高,即某字母或者数字较多时,这个独立小块就可以简化为单一色
当局部(局部可大可小)多个小块某像素比重较高,可以把某个区域简化为单一色
拓展下可以包含多个单一色
独立小块单一色和局部单一色比较实现模糊比较的能力
2.2、拼图整体的模型
·位置关系
基于独立小块二维数组
·局部模糊单一色
按照,4块,9块,16块合并多个独立小块为单元小块,提供局部单一色二维数组,所以我们的拼图会有多张
这块也可以按照单一色拓展的模式,比如单一色比重达到80%则扩大单一色的范围
·标记是否找到位置
增加一个符号表示已找到位置,独立小块和独立小块二维数组都需要

3、比较的过程
·模糊比较
使用背景符号,局部单一色,是否边缘来确定尽可能小的范围

·精确比较
按照独立小块hash值比较,然后再进行独立小块hash

·独立小块的局部比较
可以额外提供提供上下左右中5个hash

·同步进行比较
一起搞,这是计算机的优势

4、其它想法
·计算机没有人类的视觉,需要转化为符号
·人眼的计算能力确实强大,尤其在模糊单一色这一块,用代码的话这块会很复杂
·从算法角度看,最暴力的就是精确hash,同时也最低效

举报

相关推荐

0 条评论