ios-UI-汤姆猫德游戏实现

Posted liguangsunls

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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


















以上是关于ios-UI-汤姆猫德游戏实现的主要内容,如果未能解决你的问题,请参考以下文章

用树莓派实现会说话的汤姆猫

lg2313 [HNOI2005]汤姆的游戏

bzoj千题计划176:bzoj1199: [HNOI2005]汤姆的游戏

IOS-UI-基本控件之UISwitch

汤姆大叔6道javascript思考题

贺娜 d02