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 如果前面几个系列文章的内容过于冗长缺乏趣味着实见谅,由于时间原因前面的混合部分还没有写完,等以后再补充,现在开 ...
随机推荐
- 原生 javascript 基础回顾
(1)打开新窗口 语法: window.open([URL], [窗口名称], [参数字符串]) 参数说明: URL:可选参数,在窗口中要显示网页的网址或路径.如果省略这个参数,或者它的值是空 字符串 ...
- 阿里云创建RAM子账号
操作步骤 创建子账号 主账号导航至 访问控制 > 用户管理 页面.如下图所示: 单击右上角的 新建用户,如下图所示: 填写弹出框的各配置项,如下图所示: 单击 确定,即可创建子账号. 允许子账号 ...
- 改变Fragment的默认动画
FragmentTransaction ft = getFragmentManager().beginTransaction(); //设置进入退出动画 ft.setCustomAnimations( ...
- CF Codeforces Round #256 (Div. 2) D (448D) Multiplication Table
二分!!! AC代码例如以下: #include<iostream> #include<cstring> #include<cstdio> #define ll l ...
- Atitit.跨语言反射api 兼容性提升与增强 java c#。Net php js
Atitit.跨语言反射api 兼容性提升与增强 java c#.Net php js 1. 什么是反射1 1.1. 反射提供的主要功能:1 1.2. 实现反射的过程:1 ...
- [容器]gcr.io镜像下载
下载gcr.io的镜像hosts文件 把下面两行加入到/etc/hosts中. 更多在这里http://wst.so/files/hosts 61.91.161.217 gcr.io 61.91.1 ...
- spark-streaming-kafka-0-10源码分析
转发请注明原创地址http://www.cnblogs.com/dongxiao-yang/p/7767621.html 本文所研究的spark-streaming代码版本为2.3.0-SNAPSHO ...
- Java 十进制和十六制之间的转化(负数的处理)
原文: http://www.cnblogs.com/literoad/archive/2013/01/25/2875908.html 在一些情况下,我们需要将数字在十进制和十六制下互相转化. 在Ja ...
- K - Large Division 判断a是否是b的倍数。 a (-10^200 ≤ a ≤ 10^200) and b (|b| > 0, b fits into a 32 bit signed integer). 思路:取余;
/** 题目:K - Large Division 链接:https://vjudge.net/contest/154246#problem/K 题意:判断a是否是b的倍数. a (-10^200 ≤ ...
- 6.5安装nagios
最近因为,科研需要,接触上了Nagios,这里,我将安装笔记做个详解.为自己后续需要和博友们学习! VMware workstation 11 的下载 VMWare Workstation 11的安装 ...