#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. 《Docker 入门与实践》 已经出版了~欢迎有须要的朋友关注。

    在云计算时代.开发人员将应用转移到云上已经攻克了硬件管理的问题,然而软件配置和管理相关的问题依旧存在. Docker的出现正好能帮助软件开发人员开阔思路.尝试新的软件管理方法来解决问题. 通过掌握Do ...

  2. java之super关键字

    super关键字: 在java中使用super来引用基类的成分. 程序code: class FatherClass{ public int value; public void f(){ value ...

  3. mysql bin路径下的mysql被杀毒软件查杀后恢复过来也无法启动

    mysql服务被杀毒软件干掉之后操作 文件恢复过来后还是无法启动 同事使用杀毒软件之后发现,mysql的服务被干掉了.之后想到了处理办法: mysqld-nt -installnet start my ...

  4. 为什么选择Python

    经常会有同学问我为什么选择Python.我很喜欢这门语言,因为它的简洁灵活,易学,易读,可移植并且功能强大. 高级 可以说,每一代编程语言的产生,我们都会达到一个新的高度.从汇编语言,到C Pasca ...

  5. excel单元格内插入选择项pass、fail、not support等

    1.点击菜单栏的数据—-->>数据验证 2.选择 序列 在 来源 选项中填入Pass,Fail,On Going,Not Support 3.在选中的单元格并在菜单栏选中 新建规则

  6. Silverlight实例教程 - Validation服务器端异步数据验证(转载)

    摘要:本 篇实例,我们仍旧使用SilverlightValidationDemo项目,为了不和过去的验证方法冲突,这里我们创建一个新的数据成员类 Staff,该类实现INotifyDataErrorI ...

  7. 【转载】IE下利用滤镜实现背景颜色渐变

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. C语言基础(17)-作用域

    一个C语言变量的作用域可以是代码块 作用域,函数作用域或者文件作用域. 不推荐写法 int a; // 出现了语法的二义性,可能是声明也可能是定义,所以最好定义完成之后声明 void func();  ...

  9. struts2的validate在使用过程中的一个问题

    在项目中有一个新增客户信息的的功能:  1.在进入加入页面:add.jsp页面之前,要调用一个add_init.do来获取省份信息列表以供在add.jsp进行选择. 2.add页面填写完毕以后.提交给 ...

  10. phpexcel图形图表(一)入门

    PHPExcel - Excel的PHP处理引擎 PHPExcel 提供了一系列的 PHP语言 类,让你可以轻松地读写操作以下格式的文件:.xls/.xlsx/.csv/.ods/Gnumeric/P ...