Hello Unity Answers,
I am making a quiz game and at the moment when the player gets the question wrong, the score remains at 0 so I progress to the next cube and answer the question correctly and the score updates to 2 instead of 1?
Is there anyway I can I fix this?
All ideas, help, suggestions welcome.
Code for 1st cube
using System;
using System.Collections.Generic;
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class Question1 : MonoBehaviour {
private Rect windowRect = new Rect (500, 100, 400, 200); //Window size
public bool question1;
private int count;
public Text countText;
private bool showTimer = true;
private float Timer = 10f;
void start()
{
count = 0;
SetCountText ();
}
void FixedUpdate(){
if (showTimer == true) {
Timer -= Time.deltaTime;
}
if (Timer <= 0f) {
showTimer = false;
Timer = 10f;
Destroy (this.gameObject);
Application.LoadLevel (Application.loadedLevel);
}
}
void OnGUI(){
{
windowRect = GUI.Window (0, windowRect, WindowFunction, "Ebola Quiz Island"); //window on screen
}
}
void WindowFunction (int windowID)
{
// Draw any Controls inside the window here
GUI.Label (new Rect (30, 25, 200, 50), " What year did Ebola begin?"); // Question
if (GUI.Button (new Rect (20, 100, 100, 30), "1976")) // Correct Answer
{
Destroy (this.gameObject);
count = count + 1;
SetCountText ();
}
if (GUI.Button (new Rect (280, 100, 100, 30), "1986")) //Wrong answer
{
Destroy (this.gameObject);
//Application.LoadLevel(Application.loadedLevel);
}
if (GUI.Button (new Rect (20, 150, 100, 30), "1996")) // wrong answer
{
Destroy (this.gameObject);
//Application.LoadLevel(Application.loadedLevel);
}
if (GUI.Button (new Rect (280, 150, 100, 30), "1966")) // wrong answer
{
Destroy (this.gameObject);
//Application.LoadLevel(Application.loadedLevel);
}
if (showTimer == true)
{
GUI.Label (new Rect (300, 25, 200, 50), "Timer: " + Timer.ToString ("F0"));
}
}
void SetCountText()
{
countText.text = "Score: " + count.ToString ();
}
}
Code for 2nd cube
using System;
using System.Collections.Generic;
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class Question2 : MonoBehaviour {
private Rect windowRect = new Rect (500, 100, 400, 200); //Window size
public bool question2;
private int count;
public Text countText;
private bool showTimer = true;
private float Timer = 10f;
void start()
{
count = 0;
SetCountText ();
}
void FixedUpdate(){
if (showTimer == true) {
Timer -= Time.deltaTime;
}
if (Timer <= 0f) {
showTimer = false;
Timer = 10f;
Destroy (this.gameObject);
Application.LoadLevel (Application.loadedLevel);
}
}
void OnGUI()
{
windowRect = GUI.Window (0, windowRect, WindowFunction, "Ebola Quiz Island"); //window on screen
}
void WindowFunction (int windowID)
{
// Draw any Controls inside the window here
GUI.Label(new Rect (30, 25, 300, 50), " What is the Ebola virus named after?"); // Question
if (GUI.Button (new Rect (20, 100, 100, 30), "A river"))//Correct answer
{
Destroy (this.gameObject);
count = count + 2;
SetCountText ();
}
if (GUI.Button (new Rect (280, 100, 100, 30), "A farm")) // Wrong answer
{
Destroy (this.gameObject);
//Application.LoadLevel(Application.loadedLevel);
}
if (GUI.Button (new Rect (20, 150, 100, 30), "A tree")) // Wrong answer
{
Destroy (this.gameObject);
//Application.LoadLevel(Application.loadedLevel);
}
if (GUI.Button (new Rect (280, 150, 100, 30), "A city")) //Wrong Answer
{
Destroy (this.gameObject);
//Application.LoadLevel(Application.loadedLevel);
}
if (showTimer == true)
{
GUI.Label (new Rect (300, 25, 200, 50), "Timer: " + Timer.ToString ("F0"));
}
}
void SetCountText()
{
countText.text = "Score: " + count.ToString ();
}
}