【问题标题】:Quiz game multiple choice问答游戏多项选择
【发布时间】:2017-01-17 18:32:20
【问题描述】:

我有一个选择题问答游戏,我想得分。但是我想将分数与我的时间重命名联系起来,因此如果用户选择正确的答案,他会得到 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();  


    }   
}

所以基本上每次我的时间越来越少时,我都会失去更多的分数。 谢谢

【问题讨论】:

  • 您被否决了,因为我们无能为力。提供您正在使用的代码,至少有一些东西需要尝试理解。您的问题是如何获得两个实例之间的时间? var startingTime = Time.time; 会为你做这件事,然后var timeUsed = Time.time - startingTime;
  • 别担心!这两个不同的脚本是在不同的游戏对象上吗?
  • 不,它们在同一个 GameManager 脚本上
  • 你的问题是如何使用timerRemainingplayerScore?数学上还是程序上?如...您是否需要帮助了解如何使用这些值每次都获得良好、真实的分数或如何对其进行编码?
  • 玩家每个问题有多少时间?

标签: c# unity3d time


【解决方案1】:

我认为最好在每个问题的开头启动一个计时器,然后为分数创建一些算法。我希望我能正确理解你的问题

【讨论】:

    【解决方案2】:

    为什么不将变量 timerRemaing 与 Question Score 变量相乘并将其添加到 Player Score 变量中?

    这就是你想要的对吧?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多