#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. vue 预渲染 prerender-spa-plugin

    1.预渲染说明 https://ssr.vuejs.org/zh/#为什么使用服务器端渲染-ssr-? 如果你调研服务器端渲染(SSR)只是用来改善少数营销页面(例如 /, /about, /cont ...

  2. Linux 多线程环境下 进程线程终止函数小结(转)

    pthread_kill: pthread_kill与kill有区别,是向线程发送signal.,大部分signal的默认动作是终止进程的运行,所以,我们才要用signal()去抓信号并加上处理函数. ...

  3. 【Python3 爬虫】07_正则表达式(原子)

    原子是正则表达式的最基本的组成单位,而且在每个模式中最少包含一个原子.原子是由所有那些未显示指定为元字符的打印和非打印字符组成. 原子分类 1.普通字符作为原子 普通字符是编写正则表达式时最常见的原子 ...

  4. 监听器如何获取Spring配置文件

    我们在做项目的时候,会用到监听器去获取spring的配置文件,然后从中拿出我们需要的bean出来,比如做网站首页,假设商品的后台业务逻辑都做好了,我们需要创建一个监听器,在项目启动时将首页的数据查询出 ...

  5. 将DataSet转换成json

     /// <summary>        /// 把dataset数据转换成json的格式        /// </summary>        /// <para ...

  6. 水滴状的自己定义视图,让您摆脱单调的Dialog

    转载请注明出处:王亟亟的大牛之路 如今各种各样的进度条的呈现方式各种各样,我们老旧的条状条子和转圈圈的方式已经无法满足我们的业务需求,今天亟亟上的是一个水滴状循环滚动的一个自己定义视图.你能够把他用在 ...

  7. Echart - 最好最强大效果最丰富的可视化图表插件

    # 官网http://echarts.baidu.com/ # demohttp://echarts.baidu.com/gallery/index.html Echart npm install e ...

  8. 1.const

    在C++中,const 的含义并没有改变,只是对细节进行了一些调整,以下是最主要的两点. 一.C++中的 const 更像编译阶段的 #define 先来看下面的两条语句: ; int n = m; ...

  9. python学习之函数返回值

    python中函数返回值的方式有2种: 1.return语句 说明:return语句执行完后,函数后续的代码将不会被执行 2.yield语句 说明:yield语句返回的是一个迭代器对象,可以通过nex ...

  10. AJAX动态加载评论

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...