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 如果前面几个系列文章的内容过于冗长缺乏趣味着实见谅,由于时间原因前面的混合部分还没有写完,等以后再补充,现在开 ...
随机推荐
- 去除前后空格,Oracle和SQLSERVER都适用。ltrim(rtrim(’ ‘))
Oracle自带去除方法:trim(). 但是sql语法中没有直接去除两头空格的函数,但有ltrim()去除左空格rtrim()去除右空格. 合起来用就是sql的trim()函数,即select lt ...
- iOS学习笔记-自定义过渡动画
代码地址如下:http://www.demodashi.com/demo/11678.html 这篇笔记翻译自raywenderlick网站的过渡动画的一篇文章,原文用的swift,由于考虑到swif ...
- strults2标签s:set的用法
struts2标签<s:set></s:set>的用法.原理 http://liuna718-163-com.iteye.com/blog/1124654 我的例子: ...
- eclipse spring xml 无提示解决
增加自动提示的步骤: 1.window->preference.->xml-xml catalog 2.选中 user specified entried 3.选则Add..按钮 URI: ...
- cordova开发自己定义插件
以下是自己定义cordova插件的基本入门.做插件的小白可以參考一下哈,兴许会更新插件的进阶博客,希望大家可以共同学习共同进步 1.环境搭建 cordova插件开发前须要安装一些软件和配置环境 1.1 ...
- DNS的概念,用途,DNS查询的实现算法
1.DNS的概念,用途 DNS是由解析器以及域名服务器组成的. 域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器. DNS ...
- 前端模块化和AMD、CMD规范
前端模块化和AMD.CMD规范 先看下基础:https://github.com/seajs/seajs/issues/547
- 基于RocketIO的高速串行协议设计与实现
随着对信息流量需求的不断增长, 传统并行接口技术成为进一步提高数据传输速率的瓶颈.过去主要用于光纤通信的串行通信技术—SERDES正在取代传统并行总线而成为高速接口技术的主流.SERDES 是串行器) ...
- ASP.net通过WebBrowser取得AJAX后的网页
今天 Shih-Min 问我说,假设网页一开始是AJAX 会载入一些资料,但是透过WebClient 去抓 抓到都是JavaScript 跟 AJAX 的原始码,有办法可以抓到AJAX 取完值之后的 ...
- Apache配置文件详解
1.1 ServerRoot 配置 [ServerRoot "" 主要用于指定Apache的安装路径,此选项参数值在安装Apache时系统会自动把Apache的路径写入.Windo ...