您的位置:首页 > 移动开发 > IOS开发

ios-猜拳游小戏的实现

2015-07-27 17:39 447 查看
//

// 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];

}

}

//创建按钮

- (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;

}

}

//选择按钮的触发事件

- (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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: