九宫格拼图代码

//

//  ViewController.m

//  10-拼图

//

//  Created by mac on 15-5-9.

//  Copyright (c) 2015年 itcast. All rights reserved.

//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

}

/**

*  判断tag位置的button是否有图片

*

*/

-(Boolean)isKong:(int)tag

{

if(tag <= 9 && tag >= 1)

{

//  - (UIView *)viewWithTag:(NSInteger)tag;

// @property(nonatomic,readonly,retain) UIImage  *currentBackgroundImage;

//取tag位置的button

UIButton *mybutton = (UIButton *)[self.view viewWithTag:tag];

//取button的背景图片

UIImage *myImage = mybutton.currentBackgroundImage;

//如果背景图片为空,则可以把周围的图片移动过去

if (myImage == nil) {

return YES;

}

return NO;

}

return NO;

}

/**

*  移动

*/

-(void)remove:(int)tag toTag:(int)tag2

{

//取要移动到的位置button

UIButton *mybutton = (UIButton *)[self.view viewWithTag:tag2];

//取点击的button

UIButton *mybutton1 = (UIButton *)[self.view viewWithTag:tag];

//点击button的图片

UIImage *myImage = mybutton1.currentBackgroundImage;

//把图片赋值给空的button

[mybutton setBackgroundImage:myImage forState:normal];

//原先有图片的button背景图片赋值为空

[mybutton1 setBackgroundImage:nil forState:normal];

}

/**

*  判断是否拼图成功

*/

-(void)success

{

int count = 0;

for (int i = 0; i < 8; i ++)

{

//取当前按钮的背景图片

UIButton *mybutton1 = (UIButton *)[self.view viewWithTag:i + 1];

UIImage *myImage = mybutton1.currentBackgroundImage;

//定义成功时该位置的图片

NSString *name = [NSString stringWithFormat:@"icon_%02d",i];

UIImage *image = [UIImage imageNamed:name];

if ([image isEqual:myImage])

{

count ++;

}

}

if (count == 8) {//r如果count 为8说明拼图成功

UILabel *myLabel = (UILabel *)[self.view viewWithTag:22];

myLabel.alpha = 1;

//拼图成功后,所有按钮不可点

for (int j = 0; j < 9; j ++)

{

UIButton *mybutton1 = (UIButton *)[self.view viewWithTag:j + 1];

[mybutton1 setEnabled:NO];

}

}

}

- (IBAction)btn:(id)sender

{

//获取tag标记

int tag = (int)[sender tag];

//判断上面有没有图片

Boolean isUP =[self isKong:tag-3];

//判断下面有没有图片

Boolean isDown =[self isKong:tag+3];

//判断左面有没有图片

Boolean isLeft =[self isKong:tag-1];

//判断右面有没有图片

Boolean isRight =[self isKong:tag+1];

//移动

if (isUP)

{

[self remove:tag toTag:(tag - 3)];

}

else if (isDown)

{

[self remove:tag toTag:(tag + 3)];

}

else if(isLeft)

{

if (tag%3 == 1) {

return;

}

[self remove:tag toTag:(tag - 1)];

}

else if(isRight)

{

if (tag%3 == 0) {

return;

}

[self remove:tag toTag:(tag + 1)];

}

[self success];

}

@end

时间: 2024-10-23 01:05:49

九宫格拼图代码的相关文章

拼图代码-两张图片拼接

拼图代码--两张图片拼接: onCreate函数: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageview=(ImageView) findViewById(R.id.imageview); Bitmap background=BitmapFactory.decodeResou

九宫格拼图

# 生成随机拼图jigsaw = [chr(i) for i in range(65,74)]random.shuffle(jigsaw) palace = {}for i in range(9): if jigsaw[i] == 'I': palace[i+1]=([' ', i+1, 0]) else: palace[i+1]=([jigsaw[i], i+1, 1]) # 测试用数据# palace = {1: ['A', 1, 1], 2: ['B', 2, 1], 3: ['C', 3

Html5响应式设计实现九宫格

自从响应式设计的理念提出以来,越来越大的网站采用这种思想.各类大型网站也如雨后春笋般的涌了出来.如:小米商城,天猫等. 至于响应式设计的概念等大家可以去百度百度,我这里就不相信讲解了.直接为大家带来源码,用Html5实现响应式的九宫格.代码如下: <!DOCTYPE html> <html> <head> <title>html5响应式九宫格</title> <meta http-equiv="Content-Type"

android源码大放送(实战开发必备),免费安卓demo源码,例子大全文件详细列表

免费安卓demo源码,例子大全文件详细列表 本列表源码永久免费下载地址:http://www.jiandaima.com/blog/android-demo 卷 yunpan 的文件夹 PATH 列表 卷序列号为 0000-73EC E:. │ jiandaima.com文件列表生成.bat │ 例子大全说明.txt │ 本例子永久更新地址~.url │ 目录列表2016.03.10更新.txt │ ├─前台界面 │ ├─3D标签云卡片热门 │ │ Android TagCloudView云标签

前端练手项目

前端学习还是很有趣的,可以较快的上手然后自己开发一些好玩的项目来练手,网上也可以一抓一大把关于前端开发的小项目,可是还是有新手在学习的时候不知道可以做什么,以及怎么做,因此,就整理了一些前端项目教程,希望可以帮助正在学习前端的小伙伴.为了方便阅读,大概把前端可以做的项目分为三类: 游戏类 实用类 好玩类 然后依次推荐一些项目教程,想要学习的小伙伴可以看看~ 游戏类 其实很多常见的小游戏都是纯前端开发出来的,比如曾经风靡的2048.别踩白块啊等等,简单有趣,对于初学者来说,这些小游戏是非常不错的练

前端项目

前端学习还是很有趣的,可以较快的上手然后自己开发一些好玩的项目来练手,网上也可以一抓一大把关于前端开发的小项目,可是还是有新手在学习的时候不知道可以做什么,以及怎么做,因此,就整理了一些前端项目教程,希望可以帮助正在学习前端的小伙伴.为了方便阅读,大概把前端可以做的项目分为三类: 游戏类 实用类 好玩类 然后依次推荐一些项目教程,想要学习的小伙伴可以看看~ 游戏类 其实很多常见的小游戏都是纯前端开发出来的,比如曾经风靡的2048.别踩白块啊等等,简单有趣,对于初学者来说,这些小游戏是非常不错的练

寒假答辩作品:Java小游戏

目录 java入门小游戏[test] 游戏界面 前言 (可直接跳到程序介绍) 前期入门小项目 前期收获 后期自创关卡 后续 java入门小游戏[test] 游戏界面 github地址: https://github.com/404name/WinterReplyWorks 网盘(提取码pzgt):https://pan.baidu.com/s/1-JoHOCKYl_56fKCzhEmMvg 前言 (可直接跳到程序介绍) 前期入门小项目 过年这段时间在家写了两个C语言的大程序,当初在学校立的fla

走进Vue.js

走进Vue.js Vue.js作为目前最热门最具前景的前端框架之一,其提供了一种帮助我们快速构建并开发前端项目的新的思维模式.本文旨在帮助大家认识Vue.js,了解Vue.js的开发流程,并进一步理解如何通过Vue.js来构建一个中大型的前端项目,同时做好相应的部署与优化工作. 文章将以PPT图片附加文字介绍的形式展开,不会涉及知识点的具体代码,点到为止.有兴趣的同学可以查看相应的文档进行了解. Vue.js简介 从上图的介绍中我们不难发现Vue.js是一款轻量级的以数据驱动的前端JS框架,其和

UIButton点击后改变背景的等方法 按钮

请问下UIButton点击后改变背景的方法 http://www.cocoachina.com/bbs/read.php?tid-48666-keyword-UIButton.html ? 1 2 3 4 5 6 7 8 9 10 11 12 13 //初始设置: UIImage *bgImg1 = [UIImage imageNamed:@"Selected.png"]; UIImage *bgImg2 = [UIImage imageNamed:@"Unselected.