UI通过UISlider编写游戏第六感
#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编写游戏第六感的更多相关文章
- OCulus Rift 游戏开发六原则
本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/46685477 作者:car ...
- 使用 jQuery UI Widget Factory 编写有状态的插件(Stateful Plugins)
使用 jQuery UI Widget Factory 编写有状态的插件(Stateful Plugins) Note 这一章节的内容是基于 Scott Gonzalez 一篇博客 Building ...
- Python turtle 模块可以编写游戏,是真的吗?
1. 前言 turtle (小海龟) 是 Python 内置的一个绘图模块,其实它不仅可以用来绘图,还可以制作简单的小游戏,甚至可以当成简易的 GUI 模块,编写简单的 GUI 程序. 本文使用 tu ...
- jQuery 使用 jQuery UI 部件工厂编写带状态的插件(翻译)
首先,我们要创建一个progress bar,它只允许我们简单的设置进度值.正如我们接下来将要看到的,我们需要通过调用 jQuery.widget 及其两个参数来实现这一操作,这两个参数分别是:将要创 ...
- UGUI世界坐标转换为UI本地坐标(游戏Hud的实现)
实现世界坐标的原理是: 世界坐标和UGUI的坐标分属两个坐标系,他们之间是无法进行转换的,需要通过屏幕坐标系来进行转换(因为屏幕坐标是固定的),即先将游戏场景中的世界坐标通过游戏场景Camera转化为 ...
- python基础----以面向对象的思想编写游戏技能系统
1. 许多程序员对面向对象的思想都很了解,并且也能说得头头是道,但是在工作运用中却用的并不顺手. 当然,我也是其中之一. 不过最近我听了我们老师的讲课,对于面向对象的思想有了更深的理解,今天决定用一个 ...
- AJ学IOS(06)UI之iOS热门游戏_超级猜图
AJ分享,必须精品 先看效果图 思路 需求分析 1,搭建界面 1>上半部分,固定的,用Storyboard直接连线(OK) 2>下半部分,根据题目的变化,不断变化和调整,用代码方式实现比较 ...
- 使用Xamarin开发移动应用示例——数独游戏(六)使用数据库
项目代码可以从Github下载:https://github.com/zhenl/ZL.Shudu .代码随项目进度更新. 现在我们希望为应用增加更多的功能,比如记录每个完成的游戏,可以让用户自己添加 ...
- 解读Unity中的CG编写Shader系列六(漫反射)
转自 http://www.itnose.net/detail/6116553.html 如果前面几个系列文章的内容过于冗长缺乏趣味着实见谅,由于时间原因前面的混合部分还没有写完,等以后再补充,现在开 ...
随机推荐
- vue 预渲染 prerender-spa-plugin
1.预渲染说明 https://ssr.vuejs.org/zh/#为什么使用服务器端渲染-ssr-? 如果你调研服务器端渲染(SSR)只是用来改善少数营销页面(例如 /, /about, /cont ...
- Linux 多线程环境下 进程线程终止函数小结(转)
pthread_kill: pthread_kill与kill有区别,是向线程发送signal.,大部分signal的默认动作是终止进程的运行,所以,我们才要用signal()去抓信号并加上处理函数. ...
- 【Python3 爬虫】07_正则表达式(原子)
原子是正则表达式的最基本的组成单位,而且在每个模式中最少包含一个原子.原子是由所有那些未显示指定为元字符的打印和非打印字符组成. 原子分类 1.普通字符作为原子 普通字符是编写正则表达式时最常见的原子 ...
- 监听器如何获取Spring配置文件
我们在做项目的时候,会用到监听器去获取spring的配置文件,然后从中拿出我们需要的bean出来,比如做网站首页,假设商品的后台业务逻辑都做好了,我们需要创建一个监听器,在项目启动时将首页的数据查询出 ...
- 将DataSet转换成json
/// <summary> /// 把dataset数据转换成json的格式 /// </summary> /// <para ...
- 水滴状的自己定义视图,让您摆脱单调的Dialog
转载请注明出处:王亟亟的大牛之路 如今各种各样的进度条的呈现方式各种各样,我们老旧的条状条子和转圈圈的方式已经无法满足我们的业务需求,今天亟亟上的是一个水滴状循环滚动的一个自己定义视图.你能够把他用在 ...
- Echart - 最好最强大效果最丰富的可视化图表插件
# 官网http://echarts.baidu.com/ # demohttp://echarts.baidu.com/gallery/index.html Echart npm install e ...
- 1.const
在C++中,const 的含义并没有改变,只是对细节进行了一些调整,以下是最主要的两点. 一.C++中的 const 更像编译阶段的 #define 先来看下面的两条语句: ; int n = m; ...
- python学习之函数返回值
python中函数返回值的方式有2种: 1.return语句 说明:return语句执行完后,函数后续的代码将不会被执行 2.yield语句 说明:yield语句返回的是一个迭代器对象,可以通过nex ...
- AJAX动态加载评论
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...