- Home /
 
Quiz Game Score
Hi..... i'm new in unity and i want to make a quiz game and here is the script
 using UnityEngine;
 using UnityEngine.UI;
 using System.Collections;
 using System.Collections.Generic;
 using System.Linq;
 using UnityEngine.SceneManagement;
 
 public class GameManager : MonoBehaviour {
 
     public Question[] questions;
     private static List<Question> unansweredQuestions;
 
     private Question currentQuestion;
 
     [SerializeField]
     private Text factText;
 
     [SerializeField]
     private Text TrueAnswerText;
     [SerializeField]
     private Text FalseAnswerText;
 
     [SerializeField]
     private Animator animator;
 
     [SerializeField]
     private float TimeBetweenQuestions = 1f;
 
     void Start()
     {
         if (unansweredQuestions == null || unansweredQuestions.Count == 0)
         {
             unansweredQuestions = questions.ToList<Question>();
         }
         SetCurrentQuestion();
     }
 
     void SetCurrentQuestion()
     {
         int randomQuestionIndex = Random.Range(0, unansweredQuestions.Count);
         currentQuestion = unansweredQuestions[randomQuestionIndex];
 
         factText.text = currentQuestion.fact;
 
         if (currentQuestion.isTrue)
         {
             TrueAnswerText.text = "Hebat";
             FalseAnswerText.text = "Maaf";
         }else
         {
             TrueAnswerText.text = "Maaf";
             FalseAnswerText.text = "Hebat";
         }
     }
 
     void CallGameOverScene()
     {
         SceneManager.LoadScene("GameOverScene");
         Application.LoadLevel("GameOverScene");
     }
 
     IEnumerator TransitionToNextQuestion()
     {
         unansweredQuestions.Remove(currentQuestion);
 
         yield return new WaitForSeconds(TimeBetweenQuestions);
 
         SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
     }
 
     public void UserSelectTrue()
     {
         animator.SetTrigger("Benar");
         if (currentQuestion.isTrue)
         {
             Debug.Log("Hebat!");
             StartCoroutine(TransitionToNextQuestion());
         }
         else
         {
             Debug.Log("Maaf");
             CallGameOverScene();
         }
 
     }
 
     public void UserSelectFalse()
     {
         animator.SetTrigger("Salah");
         if (!currentQuestion.isTrue)
         {
             Debug.Log("Hebat!");
             StartCoroutine(TransitionToNextQuestion());
         }
         else
         {
             Debug.Log("Maaf");
             CallGameOverScene();
         }
 
     }
 }
 
               how to make a scoring and final score on game over scene ? Thx before Ps; i'm following tutorial brackeys to make this script :)
Hello I have the same issue, when I added the "Score.scoreValue += 1;" into The IEnumerator the score keeps increasing no matter if it's correct or false. I then tried adding it within the animator trigger function, it works now only when it's a correct answer but if you spam click the score keeps increasing. Any help would be appreciated.
 public void UserSelectTrue()
     {
 
         animator.SetTrigger("True");
         if (currentQuestion.isTrue)
         {
 
             Debug.Log("CORRECT");
             Score.scoreValue += 1;
 
         }
         else
         {
             Debug.Log("FALSE");
 
         }
 
         StartCoroutine(TransitionToNextQuestion());
     }
 
                 Answer by AKASH135 · Jul 14, 2017 at 12:16 AM
create a score script like this
using UnityEngine; using System.Collections; using System.Collections.Generic; using UnityEngine.UI;
public class ScoreScript : MonoBehaviour {
 public static int scoreValue = 0;
 Text score;
 // Use this for initialization
 void Start () {
     score = GetComponent<Text> ();
 }
 
 // Update is called once per frame
 void Update () {
     score.text = "Answered :" +scoreValue;
 }
 
               }
go to gamemanager script add in
IEnumerator TransitionToNextQuestion() { unansweredQuestions.Remove(currentQuestion);
      yield return new WaitForSeconds(TimeBetweenQuestions);
      ScoreScript.scoreValue += 1;
      SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
  }
 
              Your answer
 
             Follow this Question
Related Questions
C# simple timer? 2 Answers
How to randomize non-repaeting question? 0 Answers
quiz game how to store questions 2 Answers
How to turn a label off as the next button is pressed in a Quiz game 1 Answer