zoukankan      html  css  js  c++  java
  • IOS开发小项目—找色块游戏

    1.项目代码:

    @interface NextViewController ()

    {

        int r ;//色块层数的全局变量

        int m;//后面用于tag值的变化

        UIView *view;//色块

        NSArray *color;//颜色库

        UIImageView *baview;//作为色块的地图,也可以用UIView

        UILabel *label;

       }

    @end

     

    @implementation NextViewController

     

    - (void)viewDidLoad {

    //    赋初值 建立最开始的模型

        [super viewDidLoad];

        self.title = @"找色块";

         r = 2;//初始化状态为2层

        m = 1;

        self.view.backgroundColor = [UIColor whiteColor];//初始颜色为白色

        [self color];

        [self loadData];

        [self label];

    }

     

    //颜色库

    -(void)color{

          color = @[[UIColor colorWithRed:0.494 green:0.905 blue:0.493 alpha:1.000],[UIColor greenColor],[UIColor colorWithRed:0.000 green:0.091 blue:0.998 alpha:1.000],[UIColor cyanColor],[UIColor yellowColor],[UIColor purpleColor],[UIColor lightGrayColor],[UIColor darkGrayColor],[UIColor blackColor],[UIColor colorWithRed:0.868 green:0.336 blue:0.760 alpha:1.000],[UIColor magentaColor],[UIColor orangeColor],[UIColor brownColor]];}

     //--------------------创建色块-------------------

    -(void)loadData{

            int index = arc4random()%(r*r)+1;

           int ii = arc4random()%color.count;

        baview = [[UIImageView alloc]initWithFrame:CGRectMake(0, 120, CGRectGetWidth(self.view.frame), CGRectGetWidth(self.view.frame))];

        baview.backgroundColor = [UIColor whiteColor];

       //    使用UIImageView必须要使用下面语句可以使用手势

        baview.userInteractionEnabled = YES;

           [self.view addSubview: baview];

             for (int n =0; n<r; n++)

           {

                  for (int i = 0; i<r; i++)

            {

                CGFloat k = CGRectGetWidth(self.view.frame);

                view = [[UIView alloc]initWithFrame:CGRectMake(20+(k-40)/r*i, 20+(k-40)/r*n, (k-60)/r, (k-60)/r)];

                view.layer.cornerRadius = 10;//设置拐角

                view.layer.masksToBounds = YES;

                view.backgroundColor = color[ii];//随机颜色

                view.tag = r*i+n+1;

                //任意选择一个模块添加点击手势(通过tag值随机选择)

                if (index == view.tag)

                {

                    UITapGestureRecognizer *tapge = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tanp:)];

                      tapge.numberOfTapsRequired = 1;

                      view.alpha = 0.5;

                    //    添加手势

                    [view addGestureRecognizer:tapge];

               }

                [baview addSubview:view];

                       }

       }

       }

     -(void)tanp :(UITapGestureRecognizer*)sender{

        r++;

        m++;

        [self loadData];//点击后 重新更新色块

        [self text];//最下面文字显示

        [self label];//最上端文字显示

    }

    //文字显示模块,判断达到了多少 出现什么文字

    -(void)text{

           if (r>5&&r<7) {

            UILabel *llabel = [[UILabel alloc]initWithFrame:CGRectMake(self.view.frame.size.width-150-100, self.view.frame.size.height/2+150, 150, 50)];

            llabel.tag = 100;

            llabel.textAlignment = YES;

            llabel.text = @"你的视力很好哦!";

            [self.view addSubview:llabel];

            }

        

        if (r>7&&r<11) {

            UILabel *llabel = (UILabel*)[self.view viewWithTag:100];

            llabel.hidden = YES;

           }

           if (r>20&&r<23) {

            UILabel *llabel = [[UILabel alloc]initWithFrame:CGRectMake(self.view.frame.size.width-150-100, self.view.frame.size.height/2+150, 150, 50)];

            llabel.tag = 100;

            llabel.textAlignment = YES;

            llabel.text = @"你真牛!!!";

            [self.view addSubview:llabel];

             }

        if (r>35&&r<40) {

            UILabel *llabel = [[UILabel alloc]initWithFrame:CGRectMake(self.view.frame.size.width-150-100, self.view.frame.size.height/2+150, 150, 50)];

            llabel.tag = 100;

            llabel.textAlignment = YES;

            llabel.text = @"大神,顶礼膜拜!!!!!!";

            [self.view addSubview:llabel];

        }

         if (r>40) {

            UILabel *llabel = (UILabel*)[self.view viewWithTag:100];

            llabel.hidden = YES;

             }

        }

     

    //数字块,显示到了第几层

    -(void)label{

       label = [[UILabel alloc]initWithFrame:CGRectMake(self.view.frame.size.width-150-100, self.view.frame.size.height/2-250, 150, 50)];

        label = [UIColor whiteColor];

        label.tag = m+500;

        label.textAlignment = YES;

        NSString *te = [NSString stringWithFormat:@"现在是第%d层",r-1];

        label.text = te;

        label.textColor = [UIColor blackColor];

        [self.view addSubview:label];

    [self remove];

    }

    //移除出现过的视图,以免发生重叠

     -(void)remove{

       UITextField *textf = (UITextField *)[self.view viewWithTag:label.tag - 1 ];

        [textf removeFromSuperview];

    }

     

     - (void)didReceiveMemoryWarning {

        [super didReceiveMemoryWarning];

        // Dispose of any resources that can be recreated.

    }

     @end

    2.效果

     

  • 相关阅读:
    Zero-shot Relation Classification as Textual Entailment (Abiola Obamuyide, Andreas Vlachos, 2018)阅读笔记:Model
    高阶Erlang:超大只的问答房间
    高阶的Parser:可变运算优先级
    Erlang练习2:火烈鸟
    Erlang实现的模拟kaboose(山寨kahoot)
    Prolog模拟社交圈
    08-bootcss
    07-jQuery
    06-字符串、表单form、input标签
    05-有名/无名函数
  • 原文地址:https://www.cnblogs.com/chenhongios/p/4681343.html
Copyright © 2011-2022 走看看