嗨,我正在Xcode中进行测验。我想在玩游戏时拖动问题的答案。我怎么做 ? [英] Hi I'm Making Quiz In Xcode. I Want To Drag The Answer To The Question While I'm Playing The Game . How Do I Do That ?

查看:66
本文介绍了嗨,我正在Xcode中进行测验。我想在玩游戏时拖动问题的答案。我怎么做 ?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

//

#import "Easy level.h"



@implementation Easy_level

@synthesize QuestionNumber , correctAnswers, wrongAnswers, points, time , timerInt;

-(void)updatelabels
{
    CorrectAnswersCounter.text = [[NSString alloc] initWithFormat:@"%d", correctAnswers];
    WrongAnswersCounter.text = [[NSString alloc] initWithFormat:@"%d", wrongAnswers];
    YourPoints.text = [[NSString alloc ] initWithFormat:@"%d", points];
    YourTime.text = [[NSString alloc] initWithFormat:@"Your time.... %d",timerInt];

}
-(void)refresh
{
    Answer1.hidden = NO;
    Answer2.hidden= NO;
    Answer3.hidden = NO;
    Answer4.hidden = NO;

    CorrectWrong.text =@"correct/wrong";
}

-(void)endOfGame
    {
        if (Question1.hidden == YES) {
            if (Question2.hidden == YES) {
                if (Question3.hidden == YES) {
                    if (Question4.hidden == YES) {
                        if (Question5.hidden == YES) {
                            if (Question6.hidden == YES) {
                                if (Question7.hidden == YES) {
                                    if (Question8.hidden == YES) {
                                        if (Question9.hidden == YES) {
                                            if (Question10.hidden == YES) {
                                                NSString *endMessage = [[NSString alloc] initWithFormat:@"Points: %d/100    |   %d correct answers  %d  wrong answers", points,CorrectAnswers,wrongAnswers];

                                                UIAlertView *end = [[UIAlertView alloc] initWithTitle:@"End Of Game" message:endMessage delegate:self cancelButtonTitle:nil otherButtonTitles:@"Restart Quiz", nil];
                                                [end show];
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }

    }

-(IBAction)LevelSelected:(id)sender
{
    Question1.enabled = NO;
    Question2.enabled = NO;
    Question3.enabled = NO;
    Question4.enabled = NO;
    Question5.enabled = NO;
    Question6.enabled = NO;
    Question7.enabled = NO;
    Question8.enabled = NO;
    Question9.enabled = NO;
    Question10.enabled = NO;

    if (timerInt > 0) {
        [time invalidate];
        [self setTimerInt:0];
        time = [NSTimer scheduledTimerWithTimeInterval:(0.75/1.0)
                                                target:self
                                              selector: @selector(alertVoid)
                                              userInfo:nil
                                               repeats:YES];

    }
    else{
        time = [NSTimer scheduledTimerWithTimeInterval:(0.75/1.0)
                                                target:self
                                              selector:@selector(alertVoid)
                                              userInfo:nil
                                               repeats:YES];
    }
    if ([sender tag] == 1)
    {
        Question.text = @"The sequence 2,7,12,17.... is ";
        labelAnswer1.text = @"Odd"  ;
        labelAnswer2.text = @"Even";
        labelAnswer3.text = @"Arithmetic";
        labelAnswer4.text = @"Geometric";

        [self setQuestionNumber:1];
    }
    if ([sender tag] == 2)
    {
        Question.text = @"The nth term of the sequence 2,7,12,17... is";
        labelAnswer1.text = @"Apple";
        labelAnswer2.text = @"Nothing";
        labelAnswer3.text = @"Orange";
        labelAnswer4.text = @"Banana";

        [self setQuestionNumber:2];
    }
    if ([sender tag] == 3)
    {
        Question.text = @"what is the best";
        labelAnswer1.text = @"Apple";
        labelAnswer2.text = @"Nothing";
        labelAnswer3.text = @"Orange";
        labelAnswer4.text = @"Banana";

        [self setQuestionNumber:3];
    }
    if ([sender tag] == 4)
    {
        Question.text = @"If two variables are highly correlated, which one of the following statements is true? ";
        labelAnswer1.text = @"The two variables always go together.";
        labelAnswer2.text = @"High values on one variable lead to high values on the other variable.";
        labelAnswer3.text = @"There are no other variables responsible for the relationship.";
        labelAnswer4.text = @"There are no other variables responsible for the relationship.";

        [self setQuestionNumber:4];
    }
    if ([sender tag] == 5)
    {
        Question.text = @"what is the best";
        labelAnswer1.text = @"Apple";
        labelAnswer2.text = @"Nothing";
        labelAnswer3.text = @"Orange";
        labelAnswer4.text = @"Banana";

        [self setQuestionNumber:5];
    }
    if ([sender tag] == 6)
    {
        Question.text = @"Given the regression line (ln Y) = 4.08X - 10.4, estimate the value of Y when X = 5.";

        labelAnswer1.text = @"-2.1545";
        labelAnswer2.text = @"-1.3235";
        labelAnswer3.text = @"10";
        labelAnswer4.text = @"22 026";

        [self setQuestionNumber:6];
    }
    if ([sender tag] == 7)
    {
        Question.text = @"what is the best";
        labelAnswer1.text = @"Apple";
        labelAnswer2.text = @"Nothing";
        labelAnswer3.text = @"Orange";
        labelAnswer4.text = @"Banana";

        [self setQuestionNumber:7];
    }
    if ([sender tag] == 8)
    {
        Question.text = @"what is the best";
        labelAnswer1.text = @"Apple";
        labelAnswer2.text = @"Nothing";
        labelAnswer3.text = @"Orange";
        labelAnswer4.text = @"Banana";

        [self setQuestionNumber:8];
    }
    if ([sender tag] == 9)
    {
        Question.text = @"what is the best";
        labelAnswer1.text = @"Apple";
        labelAnswer2.text = @"Nothing";
        labelAnswer3.text = @"Orange";
        labelAnswer4.text = @"Banana";

        [self setQuestionNumber:9];
    }
    if ([sender tag] == 10)
    {
        Question.text = @"what is the best";
        labelAnswer1.text = @"Apple";
        labelAnswer2.text = @"Nothing";
        labelAnswer3.text = @"Orange";
        labelAnswer4.text = @"Banana";

        [self setQuestionNumber:10];
    }

    [self performSelector:@selector(buttonEnable) withObject:nil afterDelay:1.1f];

    NSString *level = [sender titleForState:UIControlStateNormal];
    YourLevel.text = level;
    [self updatelabels];
    [self refresh];
}

-(void) buttonEnable
{
    Question1.enabled = YES;
    Question2.enabled = YES;
    Question3.enabled = YES;
    Question4.enabled = YES;
    Question5.enabled = YES;
    Question6.enabled = YES;
    Question7.enabled = YES;
    Question8.enabled = YES;
    Question9.enabled = YES;
    Question10.enabled = YES;


}

-(void)alertVoid
{
    timerInt += 1;
    YourTime.text = [[NSString alloc] initWithFormat:@"Your time..... %d",timerInt];
}

-(void)CorrectAnswer
{
    [self setCorrectAnswers:[self correctAnswers] + 1];
    CalculatedScore = 100/(timerInt +1 );
    CorrectWrong.text = [[NSString alloc] initWithFormat:@"Correct! Points.%d",CalculatedScore];
    [self setPoints:[self points] + CalculatedScore];

    if (QuestionNumber == 1)
    {
        Question1.hidden = YES;
    }
    if (QuestionNumber == 2)
    {

        Question2.hidden = YES;
    }

    if (QuestionNumber == 3)
    {
        Question3.hidden = YES;
    }
    if (QuestionNumber == 4)
    {
        Question4.hidden = YES;
    }

    if (QuestionNumber == 5)
    {
        Question5.hidden = YES;
    }

    if (QuestionNumber == 6)
    {
        Question6.hidden = YES;
    }
    if (QuestionNumber == 7)
    {
        Question7.hidden = YES;
    }
    if (QuestionNumber == 8)
    {
        Question8.hidden = YES;
    }
    if (QuestionNumber == 9)
    {
        Question9.hidden = YES;
    }
    if (QuestionNumber == 10)
    {
        Question10.hidden = YES;
    }
    Answer1.hidden = YES;
    Answer2.hidden = YES;
    Answer3.hidden = YES;
    Answer4.hidden = YES;

    [time invalidate];
    [self updatelabels];
    [self endOfGame];
}


-(void)WrongAnswer
{
    [self setWrongAnswers:[self wrongAnswers] +1 ];
    [self setPoints:[self points] - 10];
    CorrectWrong.text = @"Wrong... -10 Points";
}

-(IBAction)Answer:(id)sender
{
    if ([sender tag ] == 1)
    {
        //answer1
        //question1
        if (QuestionNumber == 1)
        {
            [ self WrongAnswer];
        }
        //qustion2
        if (QuestionNumber == 2)
        {
            [ self WrongAnswer];
        }
         //qustion3
        if (QuestionNumber == 3)
        {
            [ self CorrectAnswer];
        }
         //qustion4
        if (QuestionNumber == 4)
        {
            [ self WrongAnswer];
        }
         //qustion5
        if (QuestionNumber == 5)
        {
            [ self WrongAnswer];
        }
     //qustion6
        if (QuestionNumber == 6)
        {
            [ self WrongAnswer];
        }
     //qustion7
        if (QuestionNumber == 7)
        {
            [ self WrongAnswer];
        }
     //qustion8
        if (QuestionNumber == 8)
        {
            [ self WrongAnswer];
        }
     //qustion9
        if (QuestionNumber == 9)
        {
            [ self WrongAnswer];
        }
     //qustion10
        if (QuestionNumber == 10)
        {
            [ self WrongAnswer];
        }
    }

    if ([sender tag ] == 2)
    {
        //answer2
        //question1
        if (QuestionNumber == 1)
        {
            [ self WrongAnswer];
        }
        //qustion2
        if (QuestionNumber == 2)
        {
            [ self WrongAnswer];
        }
        //qustion3
        if (QuestionNumber == 3)
        {
            [ self WrongAnswer];
        }
        //qustion4
        if (QuestionNumber == 4)
        {
            [ self WrongAnswer];
        }
        //qustion5
        if (QuestionNumber == 5)
        {
            [ self WrongAnswer];
        }
        //qustion6
        if (QuestionNumber == 6)
        {
            [ self CorrectAnswer];
        }
        //qustion7
        if (QuestionNumber == 7)
        {
            [ self WrongAnswer];
        }
        //qustion8
        if (QuestionNumber == 8)
        {
            [ self WrongAnswer];
        }
        //qustion9
        if (QuestionNumber == 9)
        {
            [ self WrongAnswer];
        }
        //qustion10
        if (QuestionNumber == 10)
        {
            [ self WrongAnswer];
        }
    }

    if ([sender tag ] == 3)
    {
        //answer3
        //question1
        if (QuestionNumber == 1)
        {
            [ self CorrectAnswer];
        }
        //qustion2
        if (QuestionNumber == 2)
        {
            [ self CorrectAnswer];
        }
        //qustion3
        if (QuestionNumber == 3)
        {
            [ self WrongAnswer];
        }
        //qustion4
        if (QuestionNumber == 4)
        {
            [ self WrongAnswer];
        }
        //qustion5
        if (QuestionNumber == 5)
        {
            [ self CorrectAnswer];
        }
        //qustion6
            if (QuestionNumber == 6)
        {
            [ self WrongAnswer];
        }
        //qustion7
        if (QuestionNumber == 7)
        {
            [ self CorrectAnswer];
        }
        //qustion8
        if (QuestionNumber == 8)
        {
            [ self CorrectAnswer];
        }
        //qustion9
        if (QuestionNumber == 9)
        {
            [ self CorrectAnswer];
        }
        //qustion10
        if (QuestionNumber == 10)
        {
            [ self CorrectAnswer];
        }

    }


    if ([sender tag ] == 4)
    {
        //answer3
        //question1
        if (QuestionNumber == 1)
        {
            [ self WrongAnswer];
        }
        //qustion2
        if (QuestionNumber == 2)
        {
            [ self WrongAnswer];
        }
        //qustion3
        if (QuestionNumber == 3)
        {
            [ self WrongAnswer];
        }
        //qustion4
        if (QuestionNumber == 4)
        {
            [ self CorrectAnswer];
        }
        //qustion5
        if (QuestionNumber == 5)
        {
            [ self WrongAnswer];
        }
        //qustion6
        if (QuestionNumber == 6)
        {
            [ self WrongAnswer];
        }
        //qustion7
        if (QuestionNumber == 7)
        {
            [ self WrongAnswer];
        }
        //qustion8
        if (QuestionNumber == 8)
        {
            [ self WrongAnswer];
        }
        //qustion9
        if (QuestionNumber == 9)
        {
            [ self WrongAnswer];
        }
        //qustion10
        if (QuestionNumber == 10)
        {
        [ self WrongAnswer];
        }
    }
    NSString *answerChosen = [sender titleForState:UIControlStateNormal];
    NSLog(@" Answer Chosen = %@" , answerChosen);
    [self updatelabels];



}

-(IBAction)Restart
{
    UIAlertView *restartAlert = [[UIAlertView alloc] initWithTitle:@"are you sure?"
                                                           message:nil
                                                          delegate:self
                                                 cancelButtonTitle:@"Cancel"
                                                 otherButtonTitles:@"yes ,restart", nil ];
    [restartAlert show];
    [self updatelabels];

}

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
    if (buttonIndex == 1 || buttonIndex == 0)
    {
        [time invalidate];
        [self setTimerInt:0];
        [self refresh];
        [self setPoints:0];
        [self setCorrectAnswers:0];
        [self setWrongAnswers:0];
        [self setQuestionNumber:0];

        Question1.hidden = NO;
        Question2.hidden = NO;
        Question3.hidden = NO;
        Question4.hidden = NO;
        Question5.hidden = NO;
        Question6.hidden = NO;
        Question7.hidden = NO;
        Question8.hidden = NO;
        Question9.hidden = NO;
        Question10.hidden = NO;

        Question.text = @"choose A level";
        labelAnswer1.text = @"";
        labelAnswer2.text = @"";
        labelAnswer3.text = @"";
        labelAnswer4.text = @"";
        [self updatelabels];

    }
}

推荐答案

可以使用手势识别器完成拖放控件。 Here is sample from Ray Wenderlich. The principles and some code should be reuseable for your needs.



Tip: rethink and simplify your code, I would call it \"Spaghetti-code\" ;-)
Drag and drop of controls can be done with gesture recognizers. Here is sample from Ray Wenderlich. The principles and some code should be reuseable for your needs.

Tip: rethink and simplify your code, I would call it "Spaghetti-code" ;-)


这篇关于嗨,我正在Xcode中进行测验。我想在玩游戏时拖动问题的答案。我怎么做 ?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆