zoukankan      html  css  js  c++  java
  • ios-UI-汤姆猫德游戏实现

    //

    //  ViewController.m

    //  UI-猜拳游戏

    //

    //  Created by jzq_mac on 15/7/15.

    //  Copyright (c) 2015 jzq_mac. All rights reserved.

    //


    #import "ViewController.h"

    #define  TIME 61


    @interface ViewController ()

    {

        UILabel *timeLable;

        UILabel *scoreLable;

        UILabel *observeLable;

        UIImageView *imgeView;

        UIImageView *imgeView1;

        UIButton *button;

        

        int score;

        int time;

        int number;

        

        NSTimer *timer;

        NSArray *imageList;

        NSArray *buttonImageList;

        NSArray *faceList;

        

        BOOL Start;

    }

    @end


    @implementation ViewController


    - (void)viewDidLoad {

        [super viewDidLoad];

    //    设置背景图

        UIImageView *imageView = [[UIImageView alloc]initWithFrame:[UIScreen mainScreen].bounds];

        imageView.image = [UIImage imageNamed:@".png"];

        [self.view addSubview:imageView];

        

        imageList = @[@"石头.png",@"剪刀.png",@".png"];

        buttonImageList = @[@"石头1.png",@"剪刀1.png",@"1.png"];

        faceList = @[@".png",@".png",@"挣扎.png"];

    //创建笑脸视图

        imgeView1 = [[UIImageView alloc]initWithFrame:CGRectMake(135, 320, 100, 100)];

        imgeView1.image = [UIImage imageNamed:@"美女1.png"];

        [self.view addSubview:imgeView1];

        

        time = TIME;

        

    //   调用视图

        [self creatView];

        [self flashView];

        [self creatButon];

        

    //    定时器

        timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(flashView) userInfo: nil repeats:YES];

        [[NSRunLoop currentRunLoop]addTimer:timer forMode:NSDefaultRunLoopMode];

        timer.fireDate = [NSDate distantFuture];

        

        timeLable.text = [NSString stringWithFormat:@"时间: %d ",time];

    }

    //创建视图

    - (void)creatView

    {

        scoreLable = [[UILabel alloc]initWithFrame:CGRectMake(0, 20, 100, 50)];

        [self.view addSubview:scoreLable];

        scoreLable.text = [NSString stringWithFormat:@"得分: %d ",score];

        scoreLable.textColor = [UIColor blueColor];

        scoreLable.backgroundColor = [UIColor grayColor];

        scoreLable.textAlignment = NSTextAlignmentCenter;

        scoreLable.alpha = 0.4;

        

        timeLable = [[UILabel alloc]initWithFrame:CGRectMake(275, 20, 100, 50)];

        [self.view addSubview:timeLable];

        timeLable.backgroundColor = [UIColor grayColor];

        timeLable.textColor = [UIColor blueColor];

        timeLable.textAlignment = NSTextAlignmentCenter;

        timeLable.text = [NSString stringWithFormat:@"时间: %d ",time];

        timeLable.alpha = 0.4;

        

        observeLable = [[UILabel alloc]initWithFrame:CGRectMake(0, 450, CGRectGetHeight([UIScreen mainScreen].bounds), 50)];

        [self.view addSubview:observeLable];

        observeLable.backgroundColor = [UIColor grayColor];

        observeLable.alpha = 0.6;

    //    observeLable.textAlignment = NSTextAlignmentCenter;

        observeLable.font = [UIFont boldSystemFontOfSize:30];

        observeLable.text = @"    ~~~ ~~~ ";

    }

    //闪烁图片

    - (void)flashView

    {

        time--;

        timeLable.text = [NSString stringWithFormat:@"时间: %d ",time];

        for (int i = 0; i < 1; i++) {

            imgeView = [[UIImageView alloc]initWithFrame:CGRectMake(135 + 100*i, 80, 100, 100)];

            imgeView.image = [UIImage imageNamed:@"美女.png"];

            [self.view addSubview:imgeView ];

            int r = arc4random()%imageList.count;

            number  = r;

             imgeView.image = [UIImage imageNamed:imageList[r]];

         }

        

        if (time == 0) {

            timer.fireDate = [NSDate distantFuture];

            UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"大家一起猜" message:@"时间到" delegate:self cancelButtonTitle:nil otherButtonTitles:@"不服就再来啊", nil];

            [alert show];

        }

    }




    //创建button

    - (void)creatButon

    {

        for (int i = 0; i < 3; i++) {

            button = [[UIButton alloc]initWithFrame:CGRectMake(35 + 100*i, 200, 100, 100)];

            [self.view addSubview:button];

            [button setBackgroundImage:[UIImage imageNamed:buttonImageList[i]] forState:UIControlStateNormal];

            button.backgroundColor = [UIColor redColor];

            button.layer.cornerRadius = 50;

            button.layer.masksToBounds = YES;

            button.alpha = 0.6;

            button.tag = i + 1;

            [button addTarget:self action:@selector(selectButton:) forControlEvents:UIControlEventTouchUpInside];

        }

        

        UIButton *startButton = [[UIButton alloc]initWithFrame:CGRectMake(160, 550, 80, 80)];

        [self.view addSubview:startButton];

        [startButton setBackgroundImage:[UIImage imageNamed:@"開始.png"] forState:UIControlStateNormal];

        [startButton setTitle:@"開始" forState:UIControlStateNormal];

        [startButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

        [startButton addTarget:self action:@selector(startGame:) forControlEvents:UIControlEventTouchUpInside];

        

    }


    //開始游戏

    - (void)startGame:(UIButton *)sender

    {

        if (sender.selected !=YES) {

            timer.fireDate = [NSDate distantPast];

            [sender setTitle:@"暂停" forState:UIControlStateNormal];

            sender.selected = YES;

            Start = YES;

        }else

        {

            timer.fireDate = [NSDate distantFuture];

            [sender setTitle:@"開始" forState:UIControlStateNormal];

            sender.selected = NO;

            Start = NO;

        }

    }

    //选择button的触发事件

    - (void)selectButton:(UIButton *)sender

    {

        if (Start != NO) {

    //        sender.showsTouchWhenHighlighted = YES;

            

            if (sender.tag == 1) {

                if (number == 0) {

                    imgeView1.image = [UIImage imageNamed:faceList[2]];

                }else if(number == 1){

                    imgeView1.image = [UIImage imageNamed:faceList[1]];

                    score ++;

                    scoreLable.text = [NSString stringWithFormat:@"总分: %d ",score];


                }else if (number == 2){

                    imgeView1.image = [UIImage imageNamed:faceList[0]];

                }

            }

            

            

            if (sender.tag == 2) {

                if (number == 0) {

                    imgeView1.image = [UIImage imageNamed:faceList[0]];

                }else if(number == 1){

                    imgeView1.image = [UIImage imageNamed:faceList[2]];

                    

                }else if (number == 2){

                    imgeView1.image = [UIImage imageNamed:faceList[1]];

                    score ++;

                    scoreLable.text = [NSString stringWithFormat:@"总分: %d ",score];


                }

            }

            

            if (sender.tag == 3) {

                if (number == 0) {

                    imgeView1.image = [UIImage imageNamed:faceList[1]];

                    score ++;

                    scoreLable.text = [NSString stringWithFormat:@"总分: %d ",score];

                }else if(number == 1){

                    imgeView1.image = [UIImage imageNamed:faceList[0]];

                    


                }else if (number == 2){

                    imgeView1.image = [UIImage imageNamed:faceList[2]];

                }

            }

        }

       

       }


    //弹窗事件


    - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex

    {

        if (buttonIndex == 0) {

            

            score = 0;

            time = TIME;

            scoreLable.text = [NSString stringWithFormat:@"总分: %d ",score];

            timeLable.text = [NSString stringWithFormat:@"时间:%d ",time];

            timer.fireDate = [NSDate distantPast];

        }else{

            timer.fireDate = [NSDate distantPast];

        }

    }


    - (void)didReceiveMemoryWarning {

        [super didReceiveMemoryWarning];

        // Dispose of any resources that can be recreated.

    }


    @end


  • 相关阅读:
    一个很好的Delphi博客
    Android开发之adb无法连接
    J2EE--常见面试题总结 -- (二)
    J2EE--常见面试题总结 -- ( 一)
    面向接口编程实现不改代码实现Redis单机/集群之间的切换
    Gradle sync failed 异常
    Dubbo+Zookeeper
    JdbcTemplate的使用
    Spring -- 配置bean
    浅析 @PathVariable 和 @RequestParam(转发,非原创)
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/6905526.html
Copyright © 2011-2022 走看看