关灯游戏的实现
UIImage *ima = [UIImage imageNamed:@"1.png"]; for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { ButtonSubview * button = [ButtonSubview buttonWithType:UIButtonTypeSystem]; button.frame = CGRectMake(5 + 63 * j, 100 + 63 * i, 58, 58); [button setBackgroundImage:ima forState:UIControlStateNormal]; [button addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside]; button.tag = 100 + i * 10 + j; button.flag = YES; //0 [self.view addSubview:button]; } } ButtonSubview *btn = [ButtonSubview buttonWithType:UIButtonTypeSystem]; btn.frame = CGRectMake(100, 450, 120, 40); [btn setTitle:@"開始" forState:UIControlStateNormal]; [btn addTarget:self action:@selector(touch:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:btn]; }
设置背景,以及開始按键
- (void)click:(ButtonSubview *)btn { UIImage *lamp = [UIImage imageNamed:@"2.png"]; UIImage *ima = [UIImage imageNamed:@"1.png"]; NSInteger a[5] = {btn.tag, btn.tag + 1,btn.tag - 1,btn.tag + 10, btn.tag - 10}; for (int i = 0; i < 5; i++) { ButtonSubview *button = (ButtonSubview *)[self.view viewWithTag:a[i]]; if (button.flag == YES) { [button setBackgroundImage:lamp forState:UIControlStateNormal]; button.flag = NO; } else{ [button setBackgroundImage:ima forState:UIControlStateNormal]; button.flag = YES; } } } //设置開始时随机亮的灯 - (void)touch:(ButtonSubview *)bun { UIImage *lamp = [UIImage imageNamed:@"2.png"]; UIImage *ima = [UIImage imageNamed:@"1.png"]; for (int i = 100; i < 145; i++) { ButtonSubview *button = (ButtonSubview *)[self.view viewWithTag:i]; button.flag = arc4random() % 2; if (button.flag == 1) { [button setBackgroundImage:lamp forState:UIControlStateNormal]; button.flag = 0; } else{ [button setBackgroundImage:ima forState:UIControlStateNormal]; button.flag = 1; } } }设置控制周围灯的亮暗,直到最后将所有的灯点灭为止.