一个小小的关灯游戏
来源:互联网 发布:有益网络怎么样 编辑:程序博客网 时间:2024/05/01 09:14
初学一些基本的UI视图控件,自己做了一个小小的关灯游戏,效果是点击一块按钮的同时,连同本身和上下左右四块同时改变,以下为效果图:
此图为刚运行时的界面:
当点击一块时,会变化为:
然后点击红色块中最上面的一块则会变成:
由此大家可以看到第二次点击时,被点击色块及周围四块,原本是红色的变为黑色,原本是黑色的变为红色,那么这是如何实现的呢?
(1)用两层for循环嵌套建立出一个矩形阵的按钮,同时对每一个按钮设置tag值标记,代码如下:
for (int i =0; i <7; i++) {
for (int j =0; j <10; j++) {
UIButton *button = [UIButtonbuttonWithType:UIButtonTypeSystem];
button.frame =CGRectMake(5 + i *45,20 + j *45,40, 40);
button.backgroundColor = [UIColorblackColor];
[self.viewaddSubview:button];
button.tag =10001 + j *100 + i;
[button addTarget:selfaction:@selector(buttonClick:)forControlEvents:UIControlEventTouchUpInside];
}
}
(2)每当点击一个按钮时,就触发一个方法,要将其本身及周围四块均提取出来,对于每一块都要判断颜色的变化.首先取得当前按钮的tag值,再根据tag值的定义取得其周围四块的tag值,将五个按钮放入一个数组中,最后用一个for循环遍历数组的每一个元素对其颜色进行判断,如果是黑色就变为红色,如果是红色就变为黑色.代码如下:
- (void)buttonClick:(UIButton *)button
{
NSInteger tag = button.tag;
NSMutableArray *arr = [NSMutableArrayarrayWithObjects:(UIButton *)[self.viewviewWithTag:tag +1], (UIButton *)[self.viewviewWithTag:tag -1], (UIButton *)[self.viewviewWithTag:tag +100], (UIButton *)[self.viewviewWithTag:tag -100], button, nil];
for (int i =0; i < arr.count; i++) {
UIButton *bt = [arrobjectAtIndex:i];
if (bt.backgroundColor == [UIColorredColor]) {
bt.backgroundColor = [UIColorblackColor];
}else {
bt.backgroundColor = [UIColorredColor];
}
}
}
这样就可以实现一个有意思的关灯游戏啦!
- 一个小小的关灯游戏
- 制作一个小小的游戏
- 一个小小的整人游戏
- 一个小小的猜拳游戏。
- 关灯游戏的实现
- 关灯游戏的实现
- IOS关灯游戏的做法
- UI, 关灯游戏的实现
- 简易的关灯游戏设计
- 一个关于生命游戏的小小程序
- 关灯游戏
- 关灯游戏
- 关灯游戏
- 关灯游戏
- 关灯游戏
- 关灯游戏
- 关灯游戏
- 关灯游戏
- 二进制、八进制、十六进制
- 上班第一天
- mysql 查询当天数据
- HDU 4135 Co-prime(容斥原理求互质数)
- VAX自动生成注释
- 一个小小的关灯游戏
- 建立Android SDK下的JNI、JAVA应用完整步骤
- 华为2013校园招聘上机笔试题--字串转换
- 福利:unity3d对接SDK神器50家渠道全覆盖,一站式接入渠道SDK插件 abctools
- 静态Hash解决数据颠簸问题
- ACM 116. [NOIP2006] 能量项链(dp矩阵连乘改版+数据2倍化+枚举)
- Android中跨进程通信之Activity
- BC注册吗
- 使用PHP依赖管理工具Composer安装Guzzle