ios-UI-汤姆猫德游戏实现
//
// ViewController.m
// UI-猜拳游戏
//
// Created by jzq_mac on 15/7/15.
// Copyright (c) 2015年 jzq_mac. All rights reserved.
//
#import "ViewController.h"
#define TIME 61
@interface ViewController ()
{
UILabel *timeLable;
UILabel *scoreLable;
UILabel *observeLable;
UIImageView *imgeView;
UIImageView *imgeView1;
UIButton *button;
int score;
int time;
int number;
NSTimer *timer;
NSArray *imageList;
NSArray *buttonImageList;
NSArray *faceList;
BOOL Start;
}
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// 设置背景图
UIImageView *imageView = [[UIImageView alloc]initWithFrame:[UIScreen mainScreen].bounds];
imageView.image = [UIImage imageNamed:@"钱.png"];
[self.view addSubview:imageView];
imageList = @[@"石头.png",@"剪刀.png",@"布.png"];
buttonImageList = @[@"石头1.png",@"剪刀1.png",@"布1.png"];
faceList = @[@"哭.png",@"笑.png",@"挣扎.png"];
//创建笑脸视图
imgeView1 = [[UIImageView alloc]initWithFrame:CGRectMake(135, 320, 100, 100)];
imgeView1.image = [UIImage imageNamed:@"美女1.png"];
[self.view addSubview:imgeView1];
time = TIME;
// 调用视图
[self creatView];
[self flashView];
[self creatButon];
// 定时器
timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(flashView) userInfo: nil repeats:YES];
[[NSRunLoop currentRunLoop]addTimer:timer forMode:NSDefaultRunLoopMode];
timer.fireDate = [NSDate distantFuture];
timeLable.text = [NSString stringWithFormat:@"时间: %d 秒",time];
}
//创建视图
- (void)creatView
{
scoreLable = [[UILabel alloc]initWithFrame:CGRectMake(0, 20, 100, 50)];
[self.view addSubview:scoreLable];
scoreLable.text = [NSString stringWithFormat:@"得分: %d 分",score];
scoreLable.textColor = [UIColor blueColor];
scoreLable.backgroundColor = [UIColor grayColor];
scoreLable.textAlignment = NSTextAlignmentCenter;
scoreLable.alpha = 0.4;
timeLable = [[UILabel alloc]initWithFrame:CGRectMake(275, 20, 100, 50)];
[self.view addSubview:timeLable];
timeLable.backgroundColor = [UIColor grayColor];
timeLable.textColor = [UIColor blueColor];
timeLable.textAlignment = NSTextAlignmentCenter;
timeLable.text = [NSString stringWithFormat:@"时间: %d 秒",time];
timeLable.alpha = 0.4;
observeLable = [[UILabel alloc]initWithFrame:CGRectMake(0, 450, CGRectGetHeight([UIScreen mainScreen].bounds), 50)];
[self.view addSubview:observeLable];
observeLable.backgroundColor = [UIColor grayColor];
observeLable.alpha = 0.6;
// observeLable.textAlignment = NSTextAlignmentCenter;
observeLable.font = [UIFont boldSystemFontOfSize:30];
observeLable.text = @" ~~~人 机 猜 拳 大 战~~~ ";
}
//闪烁图片
- (void)flashView
{
time--;
timeLable.text = [NSString stringWithFormat:@"时间: %d 秒",time];
for (int i = 0; i < 1; i++) {
imgeView = [[UIImageView alloc]initWithFrame:CGRectMake(135 + 100*i, 80, 100, 100)];
imgeView.image = [UIImage imageNamed:@"美女.png"];
[self.view addSubview:imgeView ];
int r = arc4random()%imageList.count;
number = r;
imgeView.image = [UIImage imageNamed:imageList[r]];
}
if (time == 0) {
timer.fireDate = [NSDate distantFuture];
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"大家一起猜" message:@"时间到" delegate:self cancelButtonTitle:nil otherButtonTitles:@"不服就再来啊", nil];
[alert show];
}
}
//创建button
- (void)creatButon
{
for (int i = 0; i < 3; i++) {
button = [[UIButton alloc]initWithFrame:CGRectMake(35 + 100*i, 200, 100, 100)];
[self.view addSubview:button];
[button setBackgroundImage:[UIImage imageNamed:buttonImageList[i]] forState:UIControlStateNormal];
button.backgroundColor = [UIColor redColor];
button.layer.cornerRadius = 50;
button.layer.masksToBounds = YES;
button.alpha = 0.6;
button.tag = i + 1;
[button addTarget:self action:@selector(selectButton:) forControlEvents:UIControlEventTouchUpInside];
}
UIButton *startButton = [[UIButton alloc]initWithFrame:CGRectMake(160, 550, 80, 80)];
[self.view addSubview:startButton];
[startButton setBackgroundImage:[UIImage imageNamed:@"開始.png"] forState:UIControlStateNormal];
[startButton setTitle:@"開始" forState:UIControlStateNormal];
[startButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[startButton addTarget:self action:@selector(startGame:) forControlEvents:UIControlEventTouchUpInside];
}
//開始游戏
- (void)startGame:(UIButton *)sender
{
if (sender.selected !=YES) {
timer.fireDate = [NSDate distantPast];
[sender setTitle:@"暂停" forState:UIControlStateNormal];
sender.selected = YES;
Start = YES;
}else
{
timer.fireDate = [NSDate distantFuture];
[sender setTitle:@"開始" forState:UIControlStateNormal];
sender.selected = NO;
Start = NO;
}
}
//选择button的触发事件
- (void)selectButton:(UIButton *)sender
{
if (Start != NO) {
// sender.showsTouchWhenHighlighted = YES;
if (sender.tag == 1) {
if (number == 0) {
imgeView1.image = [UIImage imageNamed:faceList[2]];
}else if(number == 1){
imgeView1.image = [UIImage imageNamed:faceList[1]];
score ++;
scoreLable.text = [NSString stringWithFormat:@"总分: %d 分",score];
}else if (number == 2){
imgeView1.image = [UIImage imageNamed:faceList[0]];
}
}
if (sender.tag == 2) {
if (number == 0) {
imgeView1.image = [UIImage imageNamed:faceList[0]];
}else if(number == 1){
imgeView1.image = [UIImage imageNamed:faceList[2]];
}else if (number == 2){
imgeView1.image = [UIImage imageNamed:faceList[1]];
score ++;
scoreLable.text = [NSString stringWithFormat:@"总分: %d 分",score];
}
}
if (sender.tag == 3) {
if (number == 0) {
imgeView1.image = [UIImage imageNamed:faceList[1]];
score ++;
scoreLable.text = [NSString stringWithFormat:@"总分: %d 分",score];
}else if(number == 1){
imgeView1.image = [UIImage imageNamed:faceList[0]];
}else if (number == 2){
imgeView1.image = [UIImage imageNamed:faceList[2]];
}
}
}
}
//弹窗事件
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (buttonIndex == 0) {
score = 0;
time = TIME;
scoreLable.text = [NSString stringWithFormat:@"总分: %d 分",score];
timeLable.text = [NSString stringWithFormat:@"时间:%d 秒",time];
timer.fireDate = [NSDate distantPast];
}else{
timer.fireDate = [NSDate distantPast];
}
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end