zoukankan      html  css  js  c++  java
  • IOS —— 关灯游戏(纯代码,简化版)

     1 - (void)viewDidLoad
     2 {
     3     [super viewDidLoad];
     4     arr=[[NSMutableArray alloc]initWithCapacity:16];
     5  
     6     for (int i=0; i<4; i++) {
     7         for (int j=0; j<4; j++) {
     8             UIButton* btn=[[UIButton alloc]initWithFrame:CGRectMake(j*60+10, i*60+100, 40, 40)];
     9             btn.backgroundColor=[UIColor lightGrayColor];
    10             [btn addTarget:self action:@selector(btn:) forControlEvents:UIControlEventTouchUpInside];
    11           
    12             [self.view addSubview:btn];
    13             
    14             [arr addObject:btn];
    15         }
    16     }
    17    
    18   
    19 }
    20 -(void) btn:(UIButton*)btn{
    21     int i=0;
    22     for (;i<16;i++) {
    23         if (btn==arr[i]) {
    24             break;
    25         }
    26     }
    27     //判断位置,如果点击按钮在右边缘则不让i+1位置的按钮判断关灯与否
    28     UIButton* btn1=[UIButton new];
    29     if ((i+1)%4!=0) {
    30         btn1=arr[i+1];
    31     }
    32    //判断位置,如果点击的位置在左边缘则不让i-1位置的按钮判断关灯与否
    33    UIButton* btn2=[UIButton new];
    34     if ((i+1)%4!=1) {
    35       btn2=arr[i-1];
    36     }
    37     //判断位置,如果点击的位置在第一行,则不能判断i-4位置的按钮关灯与否,因为i-4没按钮可判断
    38     UIButton* btn3=[UIButton new];
    39     if (i>=4) {
    40       btn3=arr[i-4];
    41     }
    42     //判断位置,如果点击的位置在最后一行,则不能判断i+4位置的按钮关灯与否,因为i+4没按钮可判断
    43     UIButton* btn4=[UIButton new];
    44     if (i<12) {
    45         btn4=arr[i+4];
    46     }
    47     
    48     NSArray* arr1=@[btn,btn1,btn2,btn3,btn4];
    49     for (i=0; i<5;i++) {
    50         UIButton* tampButton=arr1[i];
    51         
    52         if (tampButton.backgroundColor!= [UIColor yellowColor]) {
    53             tampButton.backgroundColor=[UIColor yellowColor];
    54         }
    55         else {
    56             tampButton.backgroundColor=[UIColor lightGrayColor];
    57         }
    58         
    59     }
    60     
    61 }
  • 相关阅读:
    git pull遇到错误:error: Your local changes to the following files would be overwritten by merge:
    angular 过滤器(日期转换,时间转换,数据转换等)
    js 毫秒转天时分秒
    使用Vue-Router 2实现路由功能
    vue-cli中安装方法
    Vue 2.5 发布了:15篇前端热文回看
    es6 语法 (模块化)
    es6 语法 (Decorator)
    es6 语法 (Generator)
    js 判断当前是什么浏览器
  • 原文地址:https://www.cnblogs.com/mojiewei/p/4857201.html
Copyright © 2011-2022 走看看