本拼图游戏包含调节三档的难度, 除了默认的图片外,还能够选取相册中的图片或者直接拍下图片进行游戏等。

此文为博主原创技术总结, 转载注明出处:http://blog.csdn.net/luckydog2479/article/details/17713477

首先说一下使用的版本

Xcode版本:Version 5.0.2 (5A3005)

iPhone版本:iPhone4S 7.0.4(11B554a)

本文主要涉及内容为

1.图片的分解,将一张图片按拼图需求分解为N*M个部分

2.图片文件的压缩,这里的压缩包含文件大小及像素等,由于设备的先进性,拍摄的照片文件过大,直接使用会导致内存不足,所以使用压缩比为1:5,并且将像素缩到320*(480-64)之内

3.排序,此处对拼图排序,在过程中规避了无解的情况,在下文中会详细提到

以下开始正文内容

1.图片分解部分,使用

CGImageRef CGImageCreateWithImageInRect(CGImageRef image, CGRect rect)

image为总图片,rect为分解出的图片像素,返回类型为 CGImageRef, 需要使用

+ (UIImage *)imageWithCGImage:(CGImageRef)cgImage;

转化为UIImage

2.图片文件压缩,在保存图片文件时,如果保存成JPG文件可以使用

NSData *UIImageJPEGRepresentation(UIImage *image,CGFloat compressionQuality);

compressionQuality 为图片压缩比例,为1的时候压缩最小,为0的时候压缩最大

3.拼图排序

关于排序这部分,还需要感谢 邪魔统夜 给出的灵感,逆推答案的确是一个办法,不会存在无解的情况,并且可以获取一条正确解(并不一定是最优解),在这里博主并没有使用逆推这个方法,而是使用逆序数的奇偶性来判断的

博主在之前对于拼图的认识并不是很丰富,很不擅长,并不知道拼图原来存在无解的情况

例如 2 * 2 的拼图,如下的情况,0为空白位的话,不能移动成第一行0,1,第二行2,3

1 0
3 2

(无解)

参照http://blog.csdn.net/tailzhou/article/details/3002442

获取方法,只要将0位即空白位移到左上角,然后将其转为数列,然后判断奇偶性即可得知是否有解

拼图源码下载地址: http://download.csdn.net/detail/luckydog2479/6792501

ios 制作手机端拼图游戏及衍生的其他内容相关推荐

  1. Unity制作手机端VR第一步

    基于Unity制作手机端VR小游戏 我并非专业人员,写文章目的在于分享和请教: 1.指针与射线的创作 调整好大小颜色,简单的准星就制作好了. 2.下面利用C#制作射线,我个人认为这是很重要的部分,需要 ...

  2. html通过自适应制作手机端音乐播放器

    html通过自适应制作手机端音乐播放器 实现效果: 实现思路: 1.布局: (1).将手机的宽度进行10等分  为10rem (2).通过rem定义各个元素的宽高.间距.字体大小 (3).通过CSS3 ...

  3. 网页制作 手机端与PC端兼容

    网页制作--手机端与PC端兼容 手机端与PC端使用一套代码时,随屏幕分辨率的大小变化,会产生媒体查询并实现手机端与PC端的切换 (一套代码) <meta http-equir="Cac ...

  4. ps制作手机端网页字体大小_制作网页的最佳字体大小

    ps制作手机端网页字体大小 To make web content work, text on a page must be readable for all visitors. Following ...

  5. 西安网站制作手机端的优化方法有哪些?

    西安网站制作手机端的优化方法,实际上是很简单的,无论是做移动手机端还是PC端的优化,我们在应该搞清楚的就是搜索引擎的排名规则,否则你将会是在毫无章法的运营.      移动端可以根据代码结构分为跳转适 ...

  6. Dreamweaver制作简易的拼图游戏教程

    一. 如果您的电脑中没有Dreamweaver 8可以先下载一个,这是下载地址:http://www.skycn.com/soft/458.html 自己电脑里有直接打开就可以了.这个软件挺好用的,我 ...

  7. 【学习】如何制作手机端html模板(REM的实际应用)

    以前制作手机页面时,总是很迷茫,不知从何着手,页面也不知如何处理.会用一些百分比啊,媒体查询啊,还有就是目测了,但是各种手机端的屏幕适配是个老大难的问题,没有做到百分百兼容的.自从发现了rem这个好东 ...

  8. 手机端能学习html吗,【学习】如何制作手机端html模板(REM的实际应用)

    以前制作手机页面时,总是很迷茫,不知从何着手,页面也不知如何处理.会用一些百分比啊,媒体查询啊,还有就是目测了,但是各种手机端的屏幕适配是个老大难的问题,没有做到百分百兼容的.自从发现了rem这个好东 ...

  9. 安卓+ios系统--手机端页面自适应手机屏幕大小,禁止手动放大和缩小VUE

    项目需求 手机端,页面自适应手机屏幕大小,不能手动放大和缩小. 1.代码 在index.html中加入下面的代码: <!-- 手机端页面自适应手机大小,禁止手动放大 --> <met ...

最新文章

  1. R语言curve绘图函数
  2. 使用Javascript获取图片坐标以及宽度高度的方法
  3. laravel扩展包开发步骤总结
  4. Eclipse没有的工程原型或模板创建maven失败
  5. svn“Previous operation has not finished; run 'cleanup' if it was interrupted“报错的解决方法...
  6. html编码自动识别,vi设置自动识别各种编码
  7. 【NOIP】OpenJudge - 15:银行利息
  8. HWUI(硬件加速绘制UI)简介
  9. 【Mimics】基于心脏ct影像重建3d模型 孔洞修复平滑处理 及 合并导出
  10. PC常见故障及解决思路汇总(系统方面)
  11. 开源直播推流sdk_携程移动直播探索
  12. 究竟什么是token??
  13. 手机内存文件夹html,手机内存难清理?试试直接删掉这3个文件夹,网友:咋不早说?...
  14. Win10系统打开共享文件提示没有权限使用网络资源怎么处理
  15. python里的百分号_python中的百分号
  16. [适合小白的Linu基础入门教程一
  17. cad转pdf格式怎么设置线宽
  18. jsp简介及工作原理
  19. DataFrame写入mysql时报错Duplicate entry ‘...‘ for key ‘PRIMARY
  20. 如何更改html的默认应用,win10更改默认打开程序设置方法_win10怎么更改应用默认打开方式-win7之家...

热门文章

  1. 笨方法学 python3 豆瓣_python3 爬虫学习:爬取豆瓣读书Top250(一)
  2. 对应生成树的基本回路_远程团圆数学题库答(08秋格局)北大.doc
  3. 我们渴望自由,可思想被束缚在肉体,这可怎么办?
  4. jQuery阻止事件冒泡
  5. 2017年浙江理工大学程序设计竞赛校赛 题解源码(A.水, D. 简单贪心 ,E.数论,I 暴力)...
  6. Thinkpad T460P安装win7
  7. Springboot笔记(6):Springboot数据访问/雷神
  8. 使用Pitstop批量删除pdf中书页上方和下方的文字
  9. oppo reno2 z可以升级鸿蒙吗,OPPO Reno2 Z评测:除了潮流高颜值的外观,还有4800万夜拍四摄...
  10. 机器人的避障常用方案