简易的关灯游戏设计
2015-08-22 14:20
441 查看
//初始化
- (instancetype)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
self.isOpen = YES;
self.backgroundColor = [UIColor whiteColor];
}
return self;
}
//改变自己的颜色
- (void)exchange
{
self.backgroundColor = _isOpen ? [UIColor blackColor]:[UIColor whiteColor];
_isOpen = !_isOpen;
}
//改变周围的颜色
- (void)suroundChange
{
TouchView *left = (TouchView *)[self.superview viewWithTag:self.tag - 1];
TouchView *right = (TouchView *)[self.superview viewWithTag:self.tag + 1];
TouchView *up = (TouchView *)[self.superview viewWithTag:self.tag - 20];
TouchView *down = (TouchView *)[self.superview viewWithTag:self.tag + 20];
[left exchange];
[right exchange];
[up exchange];
[down exchange];
}
//点击实现颜色的跳转
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"自己的tag:%ld",self.tag);
[self exchange];
[self suroundChange];
}
视图控制器里面的实现:
MainViewController *main = [[MainViewController alloc]init];
self.window.rootViewController = main;
[main release];
//实现6*8的视图:(在主视图控制器里实现) Length是定义的宏:
for (NSInteger i = 0; i < 48; i++) {
TouchView *touch = [[TouchView alloc]initWithFrame:CGRectMake(5 + i % 6 * Length, 25 + i / 6 * Length , Length - 1, Length - 1)];
touch.tag = 100 + i / 6 * 20 + i % 6;
[self.view addSubview:touch];
[touch release];
}
- (instancetype)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
self.isOpen = YES;
self.backgroundColor = [UIColor whiteColor];
}
return self;
}
//改变自己的颜色
- (void)exchange
{
self.backgroundColor = _isOpen ? [UIColor blackColor]:[UIColor whiteColor];
_isOpen = !_isOpen;
}
//改变周围的颜色
- (void)suroundChange
{
TouchView *left = (TouchView *)[self.superview viewWithTag:self.tag - 1];
TouchView *right = (TouchView *)[self.superview viewWithTag:self.tag + 1];
TouchView *up = (TouchView *)[self.superview viewWithTag:self.tag - 20];
TouchView *down = (TouchView *)[self.superview viewWithTag:self.tag + 20];
[left exchange];
[right exchange];
[up exchange];
[down exchange];
}
//点击实现颜色的跳转
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"自己的tag:%ld",self.tag);
[self exchange];
[self suroundChange];
}
视图控制器里面的实现:
MainViewController *main = [[MainViewController alloc]init];
self.window.rootViewController = main;
[main release];
//实现6*8的视图:(在主视图控制器里实现) Length是定义的宏:
for (NSInteger i = 0; i < 48; i++) {
TouchView *touch = [[TouchView alloc]initWithFrame:CGRectMake(5 + i % 6 * Length, 25 + i / 6 * Length , Length - 1, Length - 1)];
touch.tag = 100 + i / 6 * 20 + i % 6;
[self.view addSubview:touch];
[touch release];
}
相关文章推荐
- 大整数相乘(aijud)
- 洛谷1980 计数问题
- 常见的电子轨道图形
- poj 1305 (毕达哥拉斯三元组,构造勾股数)
- 主成分分析Matlab实现
- iOS中设置导航栏标题的字体颜色和大小
- caffe的输入
- android之interpolator的用法详解
- 关于ShareSDK 的一些记录
- NOI 2006 最大权闭合图
- 洛谷1424 小鱼的航程(改进版)
- 将正在运行的项目war包重命名后再恢复原名造成问题的疑问
- 常见的网页布局二
- HDU 4289 Control
- 网站的脉络梳理
- 如何使Label有修改功能
- TableView详细解释
- 能测试的主要概念和计算公式
- Java虚拟机内存分配策略
- html 标签