关于拼图游戏引发的一些思考
1、拼图涵盖了几乎所有可能的思维模式
·基本逻辑
联系和比较,将独立小块和整幅图做多次比较,确定具体位置。
·分类思考
可以按照三种分类来拆解问题,边缘区域,背·面符号类型,局部整体图案
·精准思考和模糊思考
每一个独立小块的具体位置需要和上下左右精确匹配,图案和形状都不能错。
在搜索阶段则可以按照背面符号类型
·局部思考和整体思考
局部组成了整体,局部最小单位是独立小块
·陶冶情操
拼图一般是自己喜欢的图案,可以陶冶情操
2、如果用代码模拟拼图的过程
2.1、独立小块的特性和模型
·图案即像素加颜色
每一个独立小块由若干有颜色像素组成。
像素可以是上下坐右中五个部分组成,颜色用字母或者数字表示,每个部分可以包含多个像素以模拟不同的图案
·边界类型
像素的五个部门增加标志,即是否为空,为空即表示那一侧为边界
·区分方向
独立小块五个部分为上下左右中,有方向标志
·小块的唯一性:精确比较的实现
可以提供一个hash算法,将独立小块五个部门进行hash运算,比如使用md5(序列化对象)这种简单粗暴的方式
·背面符号
独立小块增加一个背面符号属性
·像素比重:模糊比较的实现
当一个独立小块某像素比重较高,即某字母或者数字较多时,这个独立小块就可以简化为单一色
当局部(局部可大可小)多个小块某像素比重较高,可以把某个区域简化为单一色
拓展下可以包含多个单一色
独立小块单一色和局部单一色比较实现模糊比较的能力
2.2、拼图整体的模型
·位置关系
基于独立小块二维数组
·局部模糊单一色
按照,4块,9块,16块合并多个独立小块为单元小块,提供局部单一色二维数组,所以我们的拼图会有多张
这块也可以按照单一色拓展的模式,比如单一色比重达到80%则扩大单一色的范围
·标记是否找到位置
增加一个符号表示已找到位置,独立小块和独立小块二维数组都需要
3、比较的过程
·模糊比较
使用背景符号,局部单一色,是否边缘来确定尽可能小的范围
·精确比较
按照独立小块hash值比较,然后再进行独立小块hash
·独立小块的局部比较
可以额外提供提供上下左右中5个hash
·同步进行比较
一起搞,这是计算机的优势
4、其它想法
·计算机没有人类的视觉,需要转化为符号
·人眼的计算能力确实强大,尤其在模糊单一色这一块,用代码的话这块会很复杂
·从算法角度看,最暴力的就是精确hash,同时也最低效
·局部单一色可以理解为出现做多的几种元素
关于拼图游戏引发的一些思考相关推荐
- 你的时间是如何被谋杀的?---由一款塔防游戏引发的思考
你的时间是如何被谋杀的? ---由一款塔防游戏引发的思考 文/LL 之前一段时间花了很长时间来玩了一个 Mac OS平台下的塔防游戏<iBomber Defense Pacific>,为此 ...
- python拼图游戏代码的理解_有意思的JS(1)拼图游戏 玩法介绍及其代码实现
我是你们的索儿呀,很幸运我的文章能与你相见,愿萌新能直观的感受到Javascript的趣味性,愿有一定基础者有所收获,愿大佬不吝赐教 拼图游戏是一张图片分为若干块,打乱次序,将其中一块变为空白块,其只 ...
- 用Android Studio做一个超好玩的拼图游戏,附送超详细注释的源码
文章目录 一.项目概述 二.开发环境 三.需求分析 四.实现过程 1.拼图游戏布局绘制 2.拼图游戏时间计时 3.拼图游戏打乱显示 4.拼图游戏碎片位置切换 5.拼图游戏成功的条件 6.拼图游戏重新开 ...
- linux编程拼图游戏,cocos2d-x制作拼图游戏
由于本人最近在学习cocos2d-x,一时手痒,写一个游戏练练手,也是对cocos2d-x进一步的巩固,于是敲了两天,就写了这个拼图游戏,还挺有成就感的,:-),先把我的成果展示如下: 由于cocos ...
- java拼图游戏系统总体方案_基于JAVA的拼图游戏的设计与实现(含录像)
基于的拼图游戏的设计与实现(含录像)(任务书,开题报告,中期检查表,外文翻译,毕业论文15500字,程序代码,答辩PPT,答辩视频录像) 摘 要 在我们日常生活中,有很多的益智类游戏,如七巧板,21 ...
- linux 拼图游戏,王牌拼图红包版
王牌拼图红包版是一款好玩的拼图游戏,在这款王牌拼图红包版游戏中有上千张不同风格的图片等你来选择,有简单的模式也有中等难度和困难模式的等你来挑战!每次的关卡任务完成后都是会有红包奖励的哦!喜欢的玩家们快 ...
- 拼图游戏 玩法介绍及其代码实现(有意思的JS 一)
我是你们的索儿呀,很幸运我的文章能与你相见 愿萌新能直观的感受到Javascript的趣味性,愿有一定基础者有所收获,愿大佬不吝赐教 拼图游戏是一张图片分为若干块,打乱次序,将其中一块变为空白块,其只 ...
- java拼图游戏设计文档_基于JAVA的拼图游戏的设计与实现(含录像)
基于JAVA的拼图游戏的设计与实现(含录像)(任务书,开题报告,中期检查表,外文翻译,毕业论文15500字,程序代码,答辩PPT,答辩视频录像) 摘 要 在我们日常生活中,有很多的益智类游戏,如七巧 ...
- 【原创-更新完毕】|日历拼图游戏的解决方案(C语言-进阶应用)-详解连载2
[原创]|日历拼图游戏的解决方案(C语言-进阶应用)-详解连载1_zhuyi8120的博客-CSDN博客 [原创]|日历拼图游戏的解决方案(C语言-进阶应用)-详解连载3_zhuyi8120的博客-C ...
最新文章
- es6学习1: 模拟react Comopnent类的实现
- 两款旋转编码器测量LDP3806,BH60
- MySQL密码设置和重置,以及远程登入数据库
- java中mymaps_Java MyLocationStyle.myLocationType方法代码示例
- c#中代码中多线程动态创建progressbar的实例,概念很重要可扩展很多类似概念
- tf.reshape()
- 别用Excel做数据可视化了!这款报表工具不比它香100倍?
- 在linux中怎么装python3环境,在Linux环境下安装Python3
- LeetCode(283)——移动零(JavaScript)
- zencart后台修改首页meta_title、meta_keywords、meta_description
- [Android Pro] 告别编译运行 ---- Android Studio 2.0 Preview发布Instant Run功能
- Centos-6.3-x86_64 minimal 迷你版安装笔记 - Java篇
- LeetCode之翻转字符串里的单词
- 如何阅读Java源码 阅读java的真实体会
- MATLAB QPSK调制代码
- linux开机不运行桌面快捷方式,Android 开机自动运行和添加删除桌面快捷方式
- mysql innerdb 索引,MySQL系列-InnoDB索引优化AHI、Change buffer
- u3d联机斗地主(1):出牌规则
- 浙大开源快速扩散语音合成模型FastDiff和ProDiff
- 关于阿里云ACP认证的那些事儿