2014-10-24 3 views
0

Я начинаю. Я видел еще такие вопросы, как мои, но у меня разные проблемы.Как использовать этикетку для отображения правильного ответа

У меня есть два вопроса:

1.I хотят использовать такие этикетки, чтобы показать правильный ответ.

В этом приложении после каждого ответа он возвращает только неправильный или правильный ответ. Текст вопроса и правильный текст ответа нет, как в обычной викторине. Это похоже на картинку. Последнее изображение показывает, что ожидать после изменения .: http://i62.tinypic.com/65ahe0.jpg

Я думаю об изменении: -use существующий ярлык, первый под вопрос текст (UIButton * answer1), чтобы показать правильный ответ по картинке неправильно/правильный ответ.

-show вопрос текст над правильным текстом ответа. Я думаю, мне нужно изменить -QuestionText.hidden из YES для NO.

  1. Я написал 90 вопросов в викторине, поэтому использую: arc4random()% 89; // 0-89

Это работа в симуляторе.

Я читаю здесь, arc4random()% работает только с 51. Будет ли проблема с ним на устройстве?

Благодарим за помощь.

.m файл:

#import "Game.h" 
@interface Game() 
@end 
@implementation Game 
-(void)RightAnswer{ 
    ScoreNumber = ScoreNumber + 1; 
    Score.text = [NSString stringWithFormat:@"%i", ScoreNumber]; 
    NextCategory.hidden = NO; 
    Answer1.hidden = YES; 
    Answer2.hidden = YES; 
    Answer3.hidden = YES; 
    Answer4.hidden = YES; 
    QuestionText.hidden = YES; 
    CategorySelected.hidden = YES; 
    Result.hidden = NO; 
    Result.image = [UIImage imageNamed:@"rightanswer.png"]; 
} 
-(void)WrongAnswer{ 
    LivesNumber = LivesNumber - 1; 
    Lives.text = [NSString stringWithFormat:@"%i", LivesNumber]; 
    NextCategory.hidden = NO; 
    Answer1.hidden = YES; 
    Answer2.hidden = YES; 
    Answer3.hidden = YES; 
    Answer4.hidden = YES; 
    QuestionText.hidden = YES; 
    CategorySelected.hidden = YES; 
    Result.hidden = NO; 
    Result.image = [UIImage imageNamed:@"wronganswer.png"]; 

    if (LivesNumber == 0) { 

     Result.image = [UIImage imageNamed:@"gameover.png"]; 
     NextCategory.hidden = YES; 
     Exit.hidden = NO; 
     GameInProgress = NO; 
    } 
} 
-(IBAction)Answer1:(id)sender{ 
    if (Answer1Correct == YES) { 
     [self RightAnswer]; 
    } 
    else{ 
     [self WrongAnswer]; 
    } 
} 
-(IBAction)Answer2:(id)sender{ 
    if (Answer2Correct == YES) { 
     [self RightAnswer]; 
    } 
    else{ 
     [self WrongAnswer]; 
    } 
} 
-(IBAction)Answer3:(id)sender{ 
    if (Answer3Correct == YES) { 
     [self RightAnswer]; 
    } 
    else{ 
     [self WrongAnswer]; 
    } 
} 
-(IBAction)Answer4:(id)sender{ 
    if (Answer4Correct == YES) { 
     [self RightAnswer]; 
    } 
    else{ 
     [self WrongAnswer]; 
    } 
} 

-(void)Category1{ 

    switch (QuestionSelected) { 
     case 0: 
      QuestionText.text = [NSString stringWithFormat:@"What Team Won The 2012/2013 English Football Premier League?"]; 
      [Answer1 setTitle:@"Manchester United" forState:UIControlStateNormal]; 
      [Answer2 setTitle:@"Manchester City" forState:UIControlStateNormal]; 
      [Answer3 setTitle:@"Liverpool" forState:UIControlStateNormal]; 
      [Answer4 setTitle:@"Chelsea" forState:UIControlStateNormal]; 
      Answer1Correct = YES; 
      break; 
     case 1: 
      QuestionText.text = [NSString stringWithFormat:@"Which City Hosted The 1992 Olympic Games?"]; 
      [Answer1 setTitle:@"Norwich" forState:UIControlStateNormal]; 
      [Answer2 setTitle:@"Barcelona" forState:UIControlStateNormal]; 
      [Answer3 setTitle:@"Tokyo" forState:UIControlStateNormal]; 
      [Answer4 setTitle:@"Lisbon" forState:UIControlStateNormal]; 
      Answer2Correct = YES; 
      break; 
     case 2: 
      QuestionText.text = [NSString stringWithFormat:@"By What Score Did England Win The Ashes In The Summer of 2013?"]; 
      [Answer1 setTitle:@"5-0" forState:UIControlStateNormal]; 
      [Answer2 setTitle:@"4-0" forState:UIControlStateNormal]; 
      [Answer3 setTitle:@"3-0" forState:UIControlStateNormal]; 
      [Answer4 setTitle:@"2-0" forState:UIControlStateNormal]; 
      Answer3Correct = YES; 
      break; 
     case 3: 
      QuestionText.text = [NSString stringWithFormat:@"What Team Won The NBA Playoff Finals In 2013?"]; 
      [Answer1 setTitle:@"Golden State Warriors" forState:UIControlStateNormal]; 
      [Answer2 setTitle:@"Memphis Grizzlies" forState:UIControlStateNormal]; 
      [Answer3 setTitle:@"San Antonia Spurs" forState:UIControlStateNormal]; 
      [Answer4 setTitle:@"Miami Heat" forState:UIControlStateNormal]; 
      Answer4Correct = YES; 
      break; 
     default: 
      break; 
    } 
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
     // Custom initialization 
    } 
    return self; 
} 
- (void)viewDidLoad 
{ 
    if (GameInProgress == NO) { 
     LivesNumber = 3; 
     ScoreNumber = 0; 
     GameInProgress = YES; 
    } 
    Result.hidden = YES; 
    Exit.hidden = YES; 
    NextCategory.hidden = YES; 

    Lives.text = [NSString stringWithFormat:@"%i", LivesNumber]; 
    Score.text = [NSString stringWithFormat:@"%i", ScoreNumber]; 

    Answer1Correct = NO; 
    Answer2Correct = NO; 
    Answer3Correct = NO; 
    Answer4Correct = NO; 

    CategoryLoaded = [[NSUserDefaults standardUserDefaults] integerForKey:@"CategorySaved"]; 
    QuestionSelected = arc4random() %4; 

    switch (CategoryLoaded) { 
     case 1: 
      CategorySelected.text = [NSString stringWithFormat:@"Sport"]; 
      [self Category1]; 
      break; 
     case 2: 
      CategorySelected.text = [NSString stringWithFormat:@"Films"]; 
      [self Category2]; 
      break; 
     case 3: 
      CategorySelected.text = [NSString stringWithFormat:@"Music"]; 
      [self Category3]; 
      break; 
     case 4: 
      CategorySelected.text = [NSString stringWithFormat:@"Games"]; 
      [self Category4]; 
      break; 
     case 5: 
      CategorySelected.text = [NSString stringWithFormat:@"Geography"]; 
      [self Category5]; 
      break; 
     case 6: 
      CategorySelected.text = [NSString stringWithFormat:@"History"]; 
      [self Category6]; 
      break; 

     default: 
      break; 
    } 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view. 
} 

- (void)didReceiveMemoryWarning 
{ 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 

@end 

.h файл:

NSInteger CategoryLoaded; //This has been updated from int as used in the videos, as this is used for saving and loading data. There have been some issue on the later devices using an int for this and not NSInteger 
int QuestionSelected; 
BOOL Answer1Correct; 
BOOL Answer2Correct; 
BOOL Answer3Correct; 
BOOL Answer4Correct; 
int ScoreNumber; 
int LivesNumber; 
BOOL GameInProgress; 


@interface Game : UIViewController 
{ 

    IBOutlet UILabel *CategorySelected; 
    IBOutlet UILabel *QuestionText; 
    IBOutlet UIButton *Answer1; 
    IBOutlet UIButton *Answer2; 
    IBOutlet UIButton *Answer3; 
    IBOutlet UIButton *Answer4; 
    IBOutlet UIButton *NextCategory; 
    IBOutlet UIButton *Exit; 
    IBOutlet UILabel *Score; 
    IBOutlet UILabel *Lives; 
    IBOutlet UIImageView *Result; 


} 

-(IBAction)Answer1:(id)sender; 
-(IBAction)Answer2:(id)sender; 
-(IBAction)Answer3:(id)sender; 
-(IBAction)Answer4:(id)sender; 
-(void)Category1; 
-(void)Category2; 
-(void)Category3; 
-(void)Category4; 
-(void)Category5; 
-(void)Category6; 
-(void)RightAnswer; 
-(void)WrongAnswer; 


@end 

ответ

0

1- я не могу понять, можете ли вы подробнее рассказать? не

2- Не будет нормально работать в любой диапазон указывается, но учтите, что если вам нужно сгенерировать случайное число в диапазоне от 0 до 89 (0 и 89 включены), вы должны сделать это arc4random() %90;

+0

Спасибо вам. 1. После каждого ответа приложение показывает изображение: «wronganswer.png» или «rightanswer.png». Что я хочу? После вопроса из этого кода, например. (первый): «Какая команда выиграла английскую футбольную премьер-лигу 2012/2013?» Я буду нажимать «Манчестер Юнайтед», поэтому будет показано изображение «rightanswer.png» и под ним текст вопроса: «Какая команда выиграла английскую футбольную премьер-лигу 2012/2013?» под этим в новом или существующем ярлыке правильный ответ так «Манчестер Юнайтед». Я добавил ссылку (выше), которая показывает, что мне нужно (последнее изображение с текстом NEW-red rectangles). – Metyson

+0

Извините, но для меня все еще недостаточно ясно, спросите вы, следует ли добавить правильный ответ с вопросом на том же ярлыке или в новом? –

+0

Извините за непонятный ответ. Текст вопроса в том же ярлыке. Правильный ответ на одной и той же этикетке (сначала под текстовой меткой вопроса - UIButton * Answer1), если это возможно. – Metyson

Смежные вопросы