九宫格拼图android代码,九宫格拼图代码
//
// 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
{
//取当前按钮的背景图片
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
{
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
九宫格拼图android代码,九宫格拼图代码相关推荐
- android 九宫格封装,Android 实现九宫格、点击图片放大全屏浏览等
live_icon.jpg 1370473-587d9058f76372fb.gif 说说我的实现思路: 逐渐掌握了Android开发套路,是时候自己去封装一些东西了.网上看了一些例子,感觉不是我想要 ...
- android九宫格菜单,Android实现九宫格 主界面应用列表效果
本文需要添加/修改3个文件:main.xml.meunitem.xml.JAVA源代码. main.xml源代码如下,本身是个GirdView,用于装载Item: android:id="@ ...
- html九图拼图游戏代码,HTML5拼图游戏
拼图游戏介绍 拼图游戏将一幅图片分割成若干拼块并将它们随机打乱顺序.当将所有拼块都放回原位置时,就完成了拼图(游戏结束). 在"游戏"中,单击滑块选择游戏难易,"容易&q ...
- mysql拼图游戏代码_C#拼图游戏编写代码(2)
前言:在C#拼图游戏编写代码程序设计 之 C#实现<拼图游戏>(上),上传了各模块代码,而在本文中将详细剖析原理,使读者更容易理解并学习,程序有诸多问题,欢迎指出,共同学习成长! 正文: ...
- c#拼图碎片形状_C#拼图游戏编写代码
本文设计了C#拼图游戏程序,供大家参考,具体内容如下 功能描述: 1.用户自定义上传图片 2.游戏难度选择:简单(3*3).一般(5*5).困难(9*9)三个级别 3.纪录完成步数 模块: 1.拼图类 ...
- Android微信九宫格图片展示控件
版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/214 Android微信九宫格图片展示控件 半年前,公司产 ...
- java实现九宫格解锁_轻松实现Android自定义九宫格图案解锁
Android实现九宫格图案解锁,自带将图案转化成数字密码的功能,代码如下: LockPatternView.java package com.jackie.lockpattern; import a ...
- android studio 九宫格,Android Studio 实现九宫格功能
运行结果 1.图 2.动图 九个图标是设置的,你也可以设置4 * 4 = 16都可以. 3.分享个GIF动图的.exe 代码activity_main.xml item.xml MainActivit ...
- android ble mesh,Android 蓝牙Mesh组网代码详解
文章目录前言Mesh组网基本理解扫描设备组网meshAddress添加与重连UUID连接登录修改信息控制与接收设备数据总结 前言 上面的几篇文章都是在说Android网络编程方面的内容,我本来就有打算 ...
- Android Studio中的代码格式快捷方式
本文翻译自:Code formatting shortcut in Android Studio I have started developing with Android Studio . 我已经 ...
最新文章
- Android5.0之CoordinatorLayout的使用
- [WPF]静态资源(StaticResource)和动态资源(DynamicResource)
- python异步框架twisted_twisted是python实现的基于事件驱动的异步网络通信构架。
- yolov3权重_目标检测之 YOLOv3 (Pytorch实现)
- 旅游行业春节档期的大数据营销
- python分类算法的应用_Python基于sklearn库的分类算法简单应用示例
- element table根据条件隐藏复选框
- 养一台家庭轿车的年费是多少?有的工薪打工者为什么卖车?
- Marlin固件的欢迎界面
- 怀孕计算机在线,【怀孕天数计算器在线计算_怀孕天数计算器在线计算专题】- 天鹅到家...
- cad二次开发-C#-VS-镜像-判断用户当前是否已选择实体-将实体对象添加到模型空间-添加实体到块表记录-将块定义插入到模型空间
- C#网络TCP客户端的实现
- 【JavaScript】实现微信发消息-解决方案
- QT驾校科目考试系统——从实现到发布
- CentOS7-命令-创建用户(useradd)
- 渗透测试之破解密码(3)
- 亲完如何进行下一步_吻过女孩后,下一步怎么办?
- Windows 更新:服务堆栈更新
- 基于JAVA房屋租赁平台计算机毕业设计源码+系统+数据库+lw文档+部署
- step 文件在sw怎么编辑_solidworks不能编辑step文件吗