day8-day10 lesson1一个简单的猜数字游戏
来源:互联网 发布:网络购火车票时间 编辑:程序博客网 时间:2024/04/28 21:02
这是http://www.raywenderlich.com/store/ios-apprentice上的免费ios开发教程,原版已经更新到swift。我参阅的是https://github.com/eseedo/kidscoding上王寒老师的翻阅版本,是objectiv-c也是较早前的版本。这个系列的教程开发难度非常低,可以对app开发有个总体上的认识,快速上手。
以下是code方便将来翻阅:
//// ViewController.h// CrazyDrag//// Created by fengsser on 15/6/20.// Copyright (c) 2015年 fengsser. All rights reserved.//#import <UIKit/UIKit.h>@interface ViewController : UIViewController<UIAlertViewDelegate>@end
//// ViewController.m// CrazyDrag//// Created by fengsser on 15/6/20.// Copyright (c) 2015年 fengsser. All rights reserved.//#import "ViewController.h"#import "AboutViewController.h"#import <AVFoundation/AVFoundation.h>@interface ViewController (){ int currentValue; int targetValue; int score; int round;}- (IBAction)sliderMoved:(id)sender;- (IBAction)showAlert:(id)sender;- (IBAction)startOver:(id)sender;- (IBAction)showInfo:(id)sender;@property (strong, nonatomic) IBOutlet UISlider *slider;@property (strong, nonatomic) IBOutlet UILabel *targetLabel;@property (strong, nonatomic) IBOutlet UILabel *scoreLabel;@property (strong, nonatomic) IBOutlet UILabel *roundLabel;@property(nonatomic,strong)AVAudioPlayer *audioPlayer;-(void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex;@end@implementation ViewController@synthesize slider;@synthesize targetLabel;@synthesize audioPlayer;- (void)viewDidLoad { [super viewDidLoad]; UIImage *thumbImageNormal = [UIImage imageNamed:@"SliderThumb-Normal"]; [self.slider setThumbImage:thumbImageNormal forState:UIControlStateNormal]; UIImage *thumbImageHighlighted = [UIImage imageNamed:@"SliderThumb- Highlighted"]; [self.slider setThumbImage:thumbImageHighlighted forState:UIControlStateHighlighted]; UIImage *trackLeftImage = [[UIImage imageNamed:@"SliderTrackLeft"] stretchableImageWithLeftCapWidth:14 topCapHeight:0]; [self.slider setMinimumTrackImage:trackLeftImage forState:UIControlStateNormal]; UIImage *trackRightImage = [[UIImage imageNamed:@"SliderTrackRight"] stretchableImageWithLeftCapWidth:14 topCapHeight:0]; [self.slider setMaximumTrackImage:trackRightImage forState:UIControlStateNormal]; [self startRound]; [self updateLabels]; [self playBackgroundMusic];}-(void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex{ [self startRound]; [self updateLabels];}- (void)updateLabels { self.targetLabel.text = [NSString stringWithFormat:@"%d",targetValue]; self.scoreLabel.text = [NSString stringWithFormat:@"%d",score]; self.roundLabel.text = [NSString stringWithFormat:@"%d",round];}- (void)startRound { currentValue = 50; self.slider.value = currentValue; targetValue = arc4random()%100+1;}- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}- (IBAction)sliderMoved:(UISlider*)sender { currentValue = (int)lroundf(sender.value);}- (IBAction)showAlert:(id)sender { int diffent = abs(currentValue - targetValue); int point = 100 - diffent; round += 1; NSString *title; if(diffent == 0){ title = @"完美达成!"; point += 100; } else if(diffent < 10){ title = @"几乎完美!"; point += 50; } else{ title = @"差得有点远哟!"; } score += point; NSString *message = [NSString stringWithFormat:@"恭喜!您的得分是:%d",point]; [[[UIAlertView alloc]initWithTitle:title message:message delegate:self cancelButtonTitle:@"朕知道了" otherButtonTitles:nil, nil]show];}- (void)startNewGame{ score = 0; round = 0; [self startRound];}- (IBAction)startOver:(id)sender { CATransition *transition = [CATransition animation]; transition.type = kCATransitionFade; transition.duration = 1; transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]; [self startNewGame]; [self updateLabels]; [self.view.layer addAnimation:transition forKey:nil];}- (IBAction)showInfo:(id)sender { AboutViewController *controller = [[AboutViewController alloc]initWithNibName:@"AboutViewController" bundle:nil]; controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; [self presentViewController:controller animated:YES completion:nil]; }- (void)playBackgroundMusic{ NSString *musicPath = [[NSBundle mainBundle]pathForResource:@"no" ofType:@"mp3"]; NSURL *url = [NSURL fileURLWithPath:musicPath]; NSError *error; audioPlayer = [[AVAudioPlayer alloc]initWithContentsOfURL:url error:&error]; audioPlayer.numberOfLoops = -1; if(audioPlayer ==nil){ NSString *errorInfo = [NSString stringWithString:[error description]]; NSLog(@"the error is:%@",errorInfo); }else{ [audioPlayer play]; }}@end
//// AboutViewController.h// CrazyDrag//// Created by fengsser on 15/6/22.// Copyright (c) 2015年 fengsser. All rights reserved.//#import <UIKit/UIKit.h>@interface AboutViewController : UIViewController@end
//// AboutViewController.m// CrazyDrag//// Created by fengsser on 15/6/22.// Copyright (c) 2015年 fengsser. All rights reserved.//#import "AboutViewController.h"@interface AboutViewController ()- (IBAction)close:(id)sender;@property (strong, nonatomic) IBOutlet UIWebView *webView;@end@implementation AboutViewController@synthesize webView;- (void)viewDidLoad { [super viewDidLoad]; NSString *htmlFile =[[NSBundle mainBundle]pathForResource:@"CrazyDrag" ofType:@"html"]; NSData *htmlData = [NSData dataWithContentsOfFile:htmlFile]; NSURL *baseURL = [NSURL fileURLWithPath:[[NSBundle mainBundle]bundlePath]]; [self.webView loadData:htmlData MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:baseURL];}- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}/*#pragma mark - Navigation// In a storyboard-based application, you will often want to do a little preparation before navigation- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { // Get the new view controller using [segue destinationViewController]. // Pass the selected object to the new view controller.}*/- (IBAction)close:(id)sender { [self.presentingViewController dismissViewControllerAnimated:YES completion:nil];}@end
0 0
- day8-day10 lesson1一个简单的猜数字游戏
- 一个简单的猜数字游戏
- java猜数字,一个简单的游戏
- 一个简单的猜数字游戏
- 制作一个简单的猜数字游戏
- 一个简单的数字游戏
- 一个简单的猜数字游戏--JAVA程序
- 写一个简单猜数字游戏的小程序
- 一个猜数字的游戏
- /*简单猜数字游戏*/
- 简单猜数字游戏
- 简单猜数字游戏
- 简单猜数字游戏
- 简单的猜数字游戏,功能完备
- UI中简单的猜数字游戏
- QT---简单的猜数字游戏
- 简单的C# 猜数字游戏
- JAVA实现简单的猜数字游戏
- 女人吃什么药可以兴奋高潮
- Docker简介
- linux压缩与解压缩 tar命令
- C#高级编程二十八天----泛型类的功能
- 教程:在ZYBO板卡实现PL-PS交互
- day8-day10 lesson1一个简单的猜数字游戏
- CPU 地址分配
- <context annotation-config />标签意义:
- stm32 M3启动文件解析
- 常见gcc编译警告
- C总结复习(二)
- C语言指针用法笔记
- Android自定义捕获Application全局异常
- <mvc:annotation-driven />注解意义