UI中简单的猜数字游戏

来源:互联网 发布:84cs域名升级访问升级 编辑:程序博客网 时间:2024/06/05 18:21
#import "RootViewController.h"

@interface RootViewController ()<UIAlertViewDelegate>{
    UILabel *label;
    UITextField *textField;
//    UIButton *button;
    NSInteger number;//输入的数字
    NSInteger randomNumber;//随机数
    NSInteger count;//次数
}

@end

@implementation RootViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    self.view.backgroundColor = [UIColor colorWithWhite:0.742 alpha:0.740];
    
    
    label = [[UILabel alloc] initWithFrame:CGRectMake(120, 50, 100, 100)];
    label.backgroundColor = [UIColor colorWithRed:0.764 green:0.928 blue:1.000 alpha:1.000];
    label.text = @"?";
    label.textAlignment = NSTextAlignmentCenter;
    label.font = [UIFont fontWithName:@"Bodoni 72 Smallcaps" size:80];
    [self.view addSubview:label];
    [label release];
    
    textField = [[UITextField alloc] initWithFrame:CGRectMake(25, 200, 300, 50)];
    textField.backgroundColor = [UIColor colorWithRed:0.893 green:0.984 blue:1.000 alpha:1.000];
    textField.borderStyle = UITextBorderStyleRoundedRect;
    textField.placeholder = @"请输入0-10的数字";
    [self.view addSubview:textField];
    
    UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
    button.frame = CGRectMake(0, 300, 375, 50);
    [button setTitle:@"确定" forState:UIControlStateNormal];
    button.titleLabel.font = [UIFont systemFontOfSize:40];
    [button addTarget:self action:@selector(pessButton) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:button];
    
    [self changeColor];
    
}

-(void)pessButton{
    //如果输入的内容为空要求重新输入
     NSLog(@"%@",textField.text);
    if ([textField.text length] == 0) {
        UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:@"请输入内容" delegate:nil cancelButtonTitle:@"好的" otherButtonTitles: nil];
        [alertView show];
        [alertView release];
        return;
    }
    
    //如果输入正常 大于0小于10
    number = [textField.text integerValue];
    if (number > 10 || number < 0) {
        UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:@"请输入0-10的数" delegate:nil cancelButtonTitle:@"好的" otherButtonTitles: nil];
        [alertView show];
        [alertView release];
        return;
    }
    
    //如果输入数字跟随机数一样,则过关
    //randomNumber = arc4random() % 11;
    if (number == randomNumber) {
        UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"恭喜你" message:@"猜对了" delegate:self cancelButtonTitle:@"好的" otherButtonTitles: nil];
        [alertView show];
        [alertView release];
        label.text = [NSString stringWithFormat:@"%ld",randomNumber];
        return;
    }else{
    //输入的跟随机的不一样
    //弹出的范围提示
        NSString *message = [NSString stringWithFormat:@"你猜的数字有点%@", randomNumber > number ?  @"小" : @"大"];
    //3次机会用完没过关
        if (count == 0) {
            UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"挑战失败" message:@"你的机会已经用完" delegate:self cancelButtonTitle:@"重新开始" otherButtonTitles: nil];
            [alertView show];
            [alertView release];
            label.text = [NSString stringWithFormat:@"%ld",randomNumber];
            return;
        }
        else
        {
            //每次没猜对时跳出的文本
            UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"很遗憾" message:message delegate:nil cancelButtonTitle:@"继续" otherButtonTitles: nil];
            [alertView show];
            [alertView release];
            count --;

        }
    }
}

//重新开始时归0操作
-(void)changeColor{
    label.text = @"?";
    randomNumber = arc4random() % 11;
    count = 3;
    textField.text = @"";
    [textField resignFirstResponder];
}


- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


#pragma mark - UIAlertViewDelegate

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
    [self changeColor];
}



@end

0 0