2017-01-17 3 views
-1

У меня есть игра с несколькими вариантами викторины, и я хочу сделать оценку. однако я хочу связать счет с моим переименованием времени, поэтому, если пользователь выбирает правильный ответ, он получает 10 очков, но я также хочу умножить этот номер с оставшимся временем. поэтому, если время достигает 0, игра заканчивается, если он быстро заканчивается, он получает более высокий балл, и если он закончит так медленно, он потеряет счет. чтобы суммировать, я хочу, чтобы оставшееся время и точки были соединены вместе.Викторина игра множественного выбора

То, что я пробовал, на каждом правильном ответе я передаю в точку, и я сделал это, а также у меня высокий балл, что я не могу понять, как подключить его до оставшегося времени?

Вот что у меня есть

public void AnswerButtonClick(bool isCorrect) 
{ 
    if (isCorrect) 
    { 
     Debug.Log("I'm Correct"); 
     theAnswerIsCorrect = true; 
     playerScore += currentRoundData.pointAddedForCorrectAnswer; 
     scoreDisplayText.text = "Score: " + playerScore.ToString(); 


    } 

    else 
     theAnswerIsCorrect = false; 



    // Do we still have questions? 
    if (questionPool.Length > questionIndex + 1) 
    { 
     //questionIndex++; 

     UpdateQuestionIndex(); 
     StartCoroutine(DelayTime(3)); 
     // ShowQuestion(); 
    } 

    else 
    { 
     EndRound(); 
    } 
} 

Это только добавить свою точку, если я получить правильный ответ, то, что мне нужно, как и рассчитать оставшееся время с моей точки.

Вот оставшееся время

// Update is called once per frame 
void Update() 
{ 
    if (isRoundActive) 
    { 
     timerRemaing -= Time.deltaTime; 
     UpdateTimeRemainingDisplay(); 

     if (timerRemaing <= 0) 
      EndRound(); 


    } 
} 

поэтому в основном каждый раз, когда мое время становится все меньше, я потерять больше очков. Спасибо

+0

Вы занижены, потому что мы ничего не можем с этим поделать. Поставьте код, который вы используете, и есть хотя бы кое-что, чтобы попытаться понять. Ваш вопрос, как получить время между двумя экземплярами? 'var startTime = Time.time;' сделает это для вас, тогда 'var timeUsed = Time.time - StartingTime;' – Maakep

+0

Не стоит беспокоиться! Являются ли эти два разных сценария для разных игровых объектов? – Maakep

+0

Нет, они находятся на одном сценарии GameManager – Nanopili

ответ

0

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

0

Почему вы не умножаете переменную timerRemaing на переменную Question Score и добавляете ее в переменную Player Score?

Это то, что вам нужно прямо?