#import "RootViewController.h"

@interface RootViewController ()
{
    UILabel *scoreLabel;

}

@end

@implementation RootViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    
    //longSlider
    UISlider *longSlider = [[UISlider alloc] initWithFrame:CGRectMake(0, 60, self.view.frame.size.width, 40)];
    longSlider.tag = 101;
    longSlider.maximumValue = 100;
    longSlider.minimumValue = 0;
    longSlider.userInteractionEnabled = NO;
    longSlider.value = arc4random() % 101;
    //[longSlider addTarget:self action:@selector(longSlider:) forControlEvents:UIControlEventValueChanged];
    [self.view addSubview:longSlider];
    [longSlider release];
    
    //shortSlider
    UISlider *shortSlider = [[UISlider alloc] initWithFrame:CGRectMake(0, 120, self.view.frame.size.width - 100, 40)];
    shortSlider.tag = 102;
    shortSlider.maximumValue = 100;
    shortSlider.minimumValue = 0;
    [self.view addSubview:shortSlider];
    [shortSlider release];
    
    
    UILabel *showLabel = [[UILabel alloc] initWithFrame:CGRectMake(40, 200, 40, 40)];
    showLabel.text = @"得分";
    [self.view addSubview:showLabel];
    [showLabel release];
    
    scoreLabel = [[UILabel alloc] initWithFrame:CGRectMake(100, 200, 200, 40)];
    scoreLabel.tag = 103;
    scoreLabel.layer.borderWidth = 2;
    scoreLabel.layer.borderColor = [UIColor redColor].CGColor;
    scoreLabel.layer.cornerRadius = 10;
    [self.view addSubview:scoreLabel];
    [scoreLabel release];
    
    UIButton *okButton = [UIButton buttonWithType:UIButtonTypeSystem];
    okButton.frame = CGRectMake(40, 300, 100, 50);
    [okButton setTitle:@"OK" forState:UIControlStateNormal];
    okButton.layer.borderWidth = 2;
    okButton.layer.cornerRadius = 10;
    [okButton addTarget:self action:@selector(okButton:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:okButton];
    
    
    UIButton *againButton = [UIButton buttonWithType:UIButtonTypeSystem];
    againButton.frame = CGRectMake(220, 300, 100, 50);
    [againButton setTitle:@"重新" forState:UIControlStateNormal];
    againButton.layer.borderWidth = 2;
    againButton.layer.cornerRadius = 10;
    [againButton addTarget:self action:@selector(pressButton) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:againButton];
    
    
    
    // Do any additional setup after loading the view.
}

- (void)okButton:(UIButton *)aButton
{
    UISlider *lSlider = (UISlider *)[self.view viewWithTag:101];
    UISlider *sSlider = (UISlider *)[self.view viewWithTag:102];
    UILabel *lable = (UILabel *)[self.view viewWithTag:103];
    sSlider.userInteractionEnabled = NO;
    if (lSlider.value == sSlider.value) {
        lable.text = @"100";
        UIAlertView *aa = [[UIAlertView alloc] initWithTitle:@"提示" message:@"不是人" delegate:self cancelButtonTitle:@"确定" otherButtonTitles: nil];
        [aa show];
        [aa release];
    } else {
    
        float temp = 100 - abs((int)(lSlider.value - sSlider.value)) * 5;
        if (temp > 90 && temp < 100) {
            UIAlertView *aa = [[UIAlertView alloc] initWithTitle:@"提示" message:@"牛人" delegate:self cancelButtonTitle:@"确定" otherButtonTitles: nil];
            [aa show];
            [aa release];
        } else if (temp > 80 && temp < 90) {
        
            UIAlertView *aa = [[UIAlertView alloc] initWithTitle:@"提示" message:@"眼力不错" delegate:self cancelButtonTitle:@"确定" otherButtonTitles: nil];
            [aa show];
            [aa release];
        
        } else if (temp > 60 && temp < 80) {
        
            UIAlertView *aa = [[UIAlertView alloc] initWithTitle:@"提示" message:@"一般" delegate:self cancelButtonTitle:@"确定" otherButtonTitles: nil];
            [aa show];
            [aa release];

} else {
        
            UIAlertView *aa = [[UIAlertView alloc] initWithTitle:@"提示" message:@"眼瞎了吧!" delegate:self cancelButtonTitle:@"确定" otherButtonTitles: nil];
            [aa show];
            [aa release];

}
    
        scoreLabel.text = [NSString stringWithFormat:@"%.2f", temp];
    }

}
- (void)pressButton
{
    
    UISlider *slider = (UISlider *)[self.view viewWithTag:101];
    //slider.value = arc4random() % 101;
    [slider setValue:arc4random() % 61 + 20 animated:YES];
    UISlider *sSlider = (UISlider *)[self.view viewWithTag:102];
    sSlider.userInteractionEnabled = YES;
    sSlider.value = 0;
    
    UILabel *lable = (UILabel *)[self.view viewWithTag:103];
    lable.text = @"0";
   // [slider setValue:arc4random() animated:YES];
}

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

@end

 

UI通过UISlider编写游戏第六感的更多相关文章

  1. OCulus Rift 游戏开发六原则

    本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/46685477 作者:car ...

  2. 使用 jQuery UI Widget Factory 编写有状态的插件(Stateful Plugins)

    使用 jQuery UI Widget Factory 编写有状态的插件(Stateful Plugins) Note 这一章节的内容是基于 Scott Gonzalez 一篇博客 Building ...

  3. Python turtle 模块可以编写游戏,是真的吗?

    1. 前言 turtle (小海龟) 是 Python 内置的一个绘图模块,其实它不仅可以用来绘图,还可以制作简单的小游戏,甚至可以当成简易的 GUI 模块,编写简单的 GUI 程序. 本文使用 tu ...

  4. jQuery 使用 jQuery UI 部件工厂编写带状态的插件(翻译)

    首先,我们要创建一个progress bar,它只允许我们简单的设置进度值.正如我们接下来将要看到的,我们需要通过调用 jQuery.widget 及其两个参数来实现这一操作,这两个参数分别是:将要创 ...

  5. UGUI世界坐标转换为UI本地坐标(游戏Hud的实现)

    实现世界坐标的原理是: 世界坐标和UGUI的坐标分属两个坐标系,他们之间是无法进行转换的,需要通过屏幕坐标系来进行转换(因为屏幕坐标是固定的),即先将游戏场景中的世界坐标通过游戏场景Camera转化为 ...

  6. python基础----以面向对象的思想编写游戏技能系统

    1. 许多程序员对面向对象的思想都很了解,并且也能说得头头是道,但是在工作运用中却用的并不顺手. 当然,我也是其中之一. 不过最近我听了我们老师的讲课,对于面向对象的思想有了更深的理解,今天决定用一个 ...

  7. AJ学IOS(06)UI之iOS热门游戏_超级猜图

    AJ分享,必须精品 先看效果图 思路 需求分析 1,搭建界面 1>上半部分,固定的,用Storyboard直接连线(OK) 2>下半部分,根据题目的变化,不断变化和调整,用代码方式实现比较 ...

  8. 使用Xamarin开发移动应用示例——数独游戏(六)使用数据库

    项目代码可以从Github下载:https://github.com/zhenl/ZL.Shudu .代码随项目进度更新. 现在我们希望为应用增加更多的功能,比如记录每个完成的游戏,可以让用户自己添加 ...

  9. 解读Unity中的CG编写Shader系列六(漫反射)

    转自 http://www.itnose.net/detail/6116553.html 如果前面几个系列文章的内容过于冗长缺乏趣味着实见谅,由于时间原因前面的混合部分还没有写完,等以后再补充,现在开 ...

随机推荐

  1. 向 mysql 插入汉字时报错 Incorrect string value: '\xE6\x9B\xB9\xE5\x86\xAC...' for col....

    Incorrect string value: '\xE6\x9B\xB9\xE5\x86\xAC...' for column 'realname' at row 1 该情况一般是由数据库设计时的编 ...

  2. linux下使用tc(Traffic Control) 流量控制命令模拟网络延迟和丢包

    目录 TC案例 TC常用命令 TC安装 TC原理介绍 TC规则 TC操作原理 TC命名规则 TC单位 TC命令 TC案例 如何使用tc模拟网络延迟和丢包 修改网络延时:  sudo tc qdisc  ...

  3. Quartz简介 用 Quartz 进行作业调度

    http://www.ibm.com/developerworks/cn/java/j-quartz/现代的 Web 应用程序框架在范围和复杂性方面都有所发展,应用程序的每个底层组件也必须相应地发展. ...

  4. ios 调试过程捕获异常Stack 信息

    在AppDelegate,定义方法 void catchExceptionHandler(NSException *exception) { NSLog(@"CRASH: %@", ...

  5. Python pip install Twisted 出错“Command "c:\python37\python.exe -u -c "import setuptools, tokenize;__file__='C:...\\Twisted\\setup.py'.... failed with error code 1 in C:... \\Twisted"

    如标题所说: python版本是目前最新的3.7.1 结果发现并不是环境问题,而是直接 pip install Twisted 安装的包不兼容 需要手动下载兼容的扩展包Twisted-18.9.0-c ...

  6. Android - 返回上一个界面finish()方法

    返回上一个界面finish()方法 本文地址: http://blog.csdn.net/caroline_wendy Android能够使用finish()方法,实现函数返回的功能.当不是Activ ...

  7. Git使用笔记2

    工作必备: [更新master] git checkout master git pull git checkout zyb/FirstCommit git merge master //git re ...

  8. android studio - 隐藏编辑器标签块上面的索引

  9. eslint — js书写规范

    一.安装 npm install -g eslint 安装eslint 编辑器安装插件eslint(具体安装方法根据不同编辑器而不同) 二.使用 使用方法一: eslint --init npm中用命 ...

  10. java中获取长链接的域名

    示例:长链接:https://www.baidu.com?a=1&b=2 域名:www.baidu.com static String getDomainUrl(String url) { S ...